FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
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 |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Tex: INSERT IGNORE INTO `tabell`
SET `fält` = 'värde', " Testa dock frågan först utan ignore. |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Administratör
|
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.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Banned
|
REPLACE gör väl susen? Kräver dock ett unikt index
|
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Citat:
Exempel: INSERT INTO counter SET id = 50, count = 1 ON DUPLICATE KEY UPDATE count = count + 1 |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Mycket flitig postare
|
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:.." |
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Nykomling
|
Citat:
|
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|