Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:1f7:5d15:91...–

peter
MySQL › Navrhnutie riešenia
12. 12. 2014   #197215

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

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý