[ Igor Gajic @ 05.09.2008. 10:36 ] @
Imam tabelu sa sledecom strukturom: Code: CREATE TABLE `poslovnipartner` ( `idPoslovniPartner` int(10) unsigned NOT NULL auto_increment, `PIB_JMBG` char(13) default NULL, `MaticniBroj` char(8) default '', `Naziv` char(60) default '', `Adresa` char(30) default '', `VrednostKapitala` decimal(18,2) default '0.00', `Kupac` tinyint(1) default NULL, `Dobavljac` tinyint(1) default NULL, PRIMARY KEY (`idPoslovniPartner`) ) COLLATE latin1_general_ci ; U programu na jednom mestu imam da ubacim nekih 300 redova u tabelu poslovni partner, za funkcionisanje programa bitno mi je da idPoslovniPartner bude kao sto je u programu... Za ubacivanje podataka koristim sledecu naredbu(C#) : Code: MySqlCommand cmdInsertPP = new MySqlCommand("INSERT INTO poslovnipartner(idPoslovniPartner,PIB_JMBG,MaticniBroj,Naziv,Adresa,VrednostKapitala,Kupac,Dobavljac) VALUES (?idPoslovniPartner,?PIB,?MaticniBroj,?Naziv,?Adresa,?VrednostKapitala,?Kupac,?Dobavljac)", con2); cmdInsertPP.Parameters.Add(new MySqlParameter("?idPoslovniPartner", MySqlDbType.UInt32, 4, "idPoslovniPartner")); cmdInsertPP.Parameters.Add(new MySqlParameter("?PIB", MySqlDbType.String, 13, "PIB_JMBG")); cmdInsertPP.Parameters.Add(new MySqlParameter("?MaticniBroj", MySqlDbType.String, 9, "MaticniBroj")); cmdInsertPP.Parameters.Add(new MySqlParameter("?Naziv", MySqlDbType.String, 45, "Naziv")); cmdInsertPP.Parameters.Add(new MySqlParameter("?Adresa", MySqlDbType.String, 30, "Adresa")); cmdInsertPP.Parameters.Add(new MySqlParameter("?VrednostKapitala", MySqlDbType.Decimal, 20, "VrednostKapitala")); cmdInsertPP.Parameters.Add(new MySqlParameter("?Kupac", MySqlDbType.Bit, 1, "Kupac")); cmdInsertPP.Parameters.Add(new MySqlParameter("?Dobavljac", MySqlDbType.Bit, 1, "Dobavljac")); cmdInsertPP.CommandType = CommandType.Text; I ovaj kod iz nekog razloga puca kada je nad tabelom definisan AUTO_INCREMENT ?!? Dakle umesto da ubaci idPoslovniPartner koji mu ja zadam iz programa on ubaci sledeci ID koji mu je u tabeli. Medju podacima nema ni jedne null vrednosti, i svi ID-ovi su medjusobno razliciti... E sad problem sa ubacivanjem podataka sam resio tako sto privremeno ukinem AUTO_INCREMENT naredbom: Code: ALTER TABLE poslovnipartner CHANGE COLUMN idPoslovniPartner idPoslovniPartner INT(10) UNSIGNED NOT NULL; I podaci se lepo smeste u bazu podataka. Kada pokusam da vratim AUTO_INCREMENT , on mi daje sledecu gresku: Citat: Duplicate entry '1' for key 1 Napominjem da su svi idPoslovniPartner JEDINSTVENI. Pokusao sam da sve ponovim direktno iz MySQL Query Browser-a i javlja se ista greska. Dakle problem je negde u MySQL... Pitanje je kako da ubacitim podatke sa AUTO_INCREMENT poljem, a da se pri tome ne buni... |