sql >> Databasteknik >  >> RDS >> Mysql

Återanvänd rader i mysql-tabellen utan automatisk ökning

En bättre lösning skulle vara att ställa in en unik nyckel på flödet (bortsett från den automatiskt inkrementerade nyckeln). Använd sedan INSERT PÅ DUPLIKATNYCKELUPPDATERING

INSERT INTO feeds (name, url, etc, etc2, `update_count`) 
    VALUES ('name', 'url', 'etc', 'etc2', 1) 
    ON DUPLICATE KEY UPDATE
        `etc` = VALUES(`etc`),
        `etc2` = VALUES(`etc2`),
        `update_count` = `update_count` + 1;

Fördelen är att du inte ökar ID:n, och du gör det fortfarande i en atomfråga. Dessutom uppdaterar/ändrar du bara det du behöver ändra. (Observera att jag inkluderade update_count kolumn för att visa hur man uppdaterar ett fält)...



  1. MySQL:infoga där det inte finns

  2. MIN/MAX-pris för varje produkt (fråga)

  3. Begränsa resultat från sammanfogade tabeller till en rad

  4. Hur skriver man denna SQL-sats?