Početak›Forumi›Linuks›Programiranje›Problem sa bazom i INSERT INTO iskazom
- This topic has 5 odgovora, 3 glasa, and was last updated 15 years, 10 months ranije by AbUser.
-
AutorČlanci
-
3. jun 2008. u 10:31 am #10157ZarkoUčesnik
Imam bazu sa nazivom Pitanja sa sledecim kolonama ID (auto increment), Pitanje(Text), Odgovor0(Text), Odgovor1(Text), Odgovor2(Text)
Kad pokusam da dodam red sa
[code]INSERT INTO “Pitanja” (“Pitanje”, “Odgovor0”, “Odgovor1”, “Odgovor2”) VALUES ( “Koja je vasa omiljena boja?” , “Plava” , “Zuta” , “Plava, ne ne zuta”);[/code]Prijavljuje mi gresku:
[code]Column not found: Koja je vasa omiljena boja? /Error Code -28 / State: S0022[/code]Na osnovu uputstva za upotrebu INSERT INTO iskaza:
[code]INSERT INTO table [ (column [,…] ) ]
{ VALUES(Expression [,…]) | SelectStatement }[/code]
trebalo bi da je sve u redu, jedino mozda zeza ovaj auto increment kod ID-a, mada njega nisam ni ubacio u spisku kolona. Sta moze da bude problem? U pitanju je HSQL baza.3. jun 2008. u 12:11 pm #70480RiSKUčesnikHmm… nikad cuo za bazu 😉
Probaj ovako pa javi sta se desava:
[code]
INSERT INTO ‘Pitanja’ SET Pitanje=’Koja je vasa omiljena boja?’, Odgovor0=’Plava’, Odgovor1=’Zuta’, Odgovor2=’Plava, ne ne zuta’;
[/code]3. jun 2008. u 1:20 pm #70481ZarkoUčesnikNece prijavi mi:
[code]Unexpected token: Pitanja in statement [INSERT INTO ‘Pitanja’] / Error Code: -11 / State 37000[/code]Pokusao sam i sa:
[code]INSERT INTO “Pitanja” SET “Pitanje”=’Koja je vasa omiljena boja?’, “Odgovor0″=’Plava’, “Odgovor1″=’Zuta’, “Odgovor2″=’Plava, ne ne zuta’;[/code]
i prijavilo mi:
[code]Unexpected token: SET in statement [INSERT INTO “Pitanja” SET] Error Code: -11 / State 37000[/code]Resio sam problem tako sto sam napravio drugu bazu bez auto inkrementiranja za id i pomocu iskaza:
[code]INSERT INTO “Pitanja” VALUES ( ‘7’ , ‘Najgori mobilni provajder?’ , ‘Vip’ , ‘ Telenor’ , ‘ MTS’);[/code]
Znaci bez odredjivanja kolona, vec redom ubacivanjem u svaku kolonu.Nije mi jedino bilo jasno kad treba navodnik, kad apostrof jer kad postavim ime tabele pod apostrofom nece da radi a takodje kad postavim vrednosti za kolone pod navodnikom isto nece da radi. Tako da sam doso do zakljucka da ime tabele i imena kolona treba da idu pod navodnicima a vrednosti za kolone pod apostrofima.
Zavrsavajuci ovaj post upravo sam provalio gde sam gresio, treba da stoji:
[code]INSERT INTO “Pitanja” (“Pitanje”, “Odgovor0”, “Odgovor1”, “Odgovor2”)
VALUES (‘grr’,’fttt’,’wert’,’qwerty’)[/code]
i sad odlicno radi sa auto incrementiranjem
Hvala RiSK na trudu.Inace baza je pogodna za rad sa javom, dosta je light i OpenOffice Base koristi isto tu bazu pa je meni odgovaralo posto radim diplomski u NetBeansu da napravim najlakse bazu preko OO-a.
3. jun 2008. u 2:16 pm #70482RiSKUčesnikHahaaaaaa… Ne stavljau se navodi kod imena tabela.
Samo INSERT INTO ImeTabele. To mi se omaklo u brzini.
Ni kod imena kolona, naravno.Sve sto treba da stoji pod navodima su podaci tipa char/varchar i sl. i evntualno kod nekih baza neki posebni tipovi podataka (kao npr. datum).
3. jun 2008. u 4:58 pm #70483ZarkoUčesnikOva baza nece nikako drugacije sve sam probao. Znaci ako stavis navodnike to tretira kao ime tabele ili kolone, ako ne stavis onda tretira kao rezervisanu rec, a ako stavis apostrofe to tretira kao vrednost. Naravno ako nije u pitanju string ili sl. podatak moze i bez apostrofa.
3. jun 2008. u 9:24 pm #70484AbUserUčesnikprobaj sa apostrofom ` (koji se nalazi kod levo od tastera 1)
-
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.