Jestli to chapu spravne, tak
LAST_INSERT_ID() vraci posledni id INSERTu. A funguje tusim jen u autoincrementu.
google = INSERT IGNORE INTO site:cz
Pokud narazi na problem, tak nevypise error a pokracuje dalsim prikazem. Pokud tam zadny prikaz neni a nenastal error, pak LAST_INSERT_ID bude posledni radek. Pokud nastal error, tak tam bude predchozi insert id.
Ja osobne bych ty errory chtel mit vypsane.
http://www.linuxsoft.cz/article.php?id_article=816
http://cs.wikipedia.org/wiki/INSERT#…
Pokud tam mas duplicity, je mozne pouzit UPDATE nebo REPLACE.
INSERT INTO users_partners (uid,pid) VALUES (1,1) ON DUPLICATE KEY UPDATE uid=uid
INSERT INTO hledane_vyrazy(id,vyraz,pocet_hledani) VALUES(178,"Britney Spears",1) ON DUPLICATE KEY UPDATE pocet_hledani=pocet_hledani+1;
Pak jsou moznosti jako IF NOT EXISTS.
Nicmene tebe zpis zajimaji kostrukce jako
id = 123
try {
UPDATE ... id
} catch (exception) {
INSERT INTO ... null
id = LAST_INSERT_ID()
}
https://pornel.net/postmysql