![]() |
Finns det någon funktion i MYSQL för att kontrollera om en rad redan finns i samband med insert?
Eg. jag vill att en rad ska läggas till i tabellen om det inte redan finns en identisk rad |
Tex: INSERT IGNORE INTO `tabell`
SET `fält` = 'värde', " Testa dock frågan först utan ignore. |
INSERT IGNORE gör bara att ett eventuella fel-koder från unika nycklar resulterar i en varning istället.
Ett unikt (UNIQUE) index är nog vanligaste sättet att lösa detta. Andra sättet är att köra en select. |
REPLACE gör väl susen? Kräver dock ett unikt index
|
Citat:
Exempel: INSERT INTO counter SET id = 50, count = 1 ON DUPLICATE KEY UPDATE count = count + 1 |
Löste det genom att lägga till ett unikt fält som var en sammanslagning av de övriga.
eg. fält1 = "fält2:fält3:.." |
Citat:
|
Alla tider är GMT +2. Klockan är nu 10:06. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson