leisure Posted February 9, 2006 Report Share Posted February 9, 2006 (edited) INSERT INTO `db_config` ( `id` , `cfg_name` , `cfg_value` , `cfg_comment` ) VALUES ( NULL , 'statechange', 1, '' ); (cfg_name ir unikaals) Kaa uzraxtiit INSERT izteiksmi, lai pieprasiijums neizpildiitos, ja dubleejas cfg_name vertiba? Edit: Runa ir par MySQL Edited February 9, 2006 by leisure Link to comment Share on other sites More sharing options...
bubu Posted February 9, 2006 Report Share Posted February 9, 2006 Kāda ir tabulas definīcija? (nu kollonu tipi, atslēgas, - tas viss ko tu raksti pie CREATE TABEL). Link to comment Share on other sites More sharing options...
leisure Posted February 9, 2006 Author Report Share Posted February 9, 2006 Kāda ir tabulas definīcija? (nu kollonu tipi, atslēgas, - tas viss ko tu raksti pie CREATE TABEL). CREATE TABLE IF NOT EXISTS `db_config` ( `id` int(3) NOT NULL auto_increment, `cfg_name` varchar(255) NOT NULL default '', `cfg_value` varchar(255) NOT NULL default '', `cfg_comment` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `cfg_name` (`cfg_name`) ) TYPE=MyISAM COMMENT='Konfigurācijas tabula!' AUTO_INCREMENT=0 Link to comment Share on other sites More sharing options...
bubu Posted February 9, 2006 Report Share Posted February 9, 2006 Tev taču ir UNIQUE KEY `cfg_name` (`cfg_name`) Tātad kolonnā cfg_name paredzēts likt unikālas vērtības. Kāpēc tur gribi iestūķēt kautko neunikālu? Ja tiešām tiešām gribi (esi par to drošs?) tad izmet šo unikalitātes atslēgu no tabulas definīcijas. Link to comment Share on other sites More sharing options...
leisure Posted February 9, 2006 Author Report Share Posted February 9, 2006 doma vispar bija ja lietotajs megjina iestukjet to pashu ieraxtu velreiz datubaazee, tad vnk vaig lai izmet erroru ka tads ieraksts jaw eksistee... nju ja sawadaak newar tad laikam ka vaidzees taisiit 2us pieprasiijumus... SELECT un pec tam INSERT ja no select buus num_rows bus FALSE vai tomer ir vel kaadi savaadaaki risinaajumi? Link to comment Share on other sites More sharing options...
bubu Posted February 9, 2006 Report Share Posted February 9, 2006 Ui.. es neizlasīju pareizi tavu jautājumu. Sapratu, ka tu gribi lai ieliekās, nevis lai neieliekās. Tieši tā kā tu dari ir jādara. SELECT un pēc tam INSERT. Vēl variants - likt tāpatās vienkārši ar INSERT un pēc tam pārbaudīt mysql_errno() vai atgriež kautkādu konstantu integeru (tb kļūdas numurs). Ja tāds ir, tad pārbaudot uz to, tu vari zināt, ka tiek mēģināts likt unikālu vērtību. Link to comment Share on other sites More sharing options...
leisure Posted February 9, 2006 Author Report Share Posted February 9, 2006 ok... tnx... Link to comment Share on other sites More sharing options...
Recommended Posts