Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeilen in MySQL-Tabelle ohne automatisches Inkrementieren wiederverwenden

Eine bessere Lösung wäre, einen eindeutigen Schlüssel für den Feed festzulegen (abgesehen vom automatisch inkrementierten Schlüssel). Verwenden Sie dann INSERT ON DUPLICATE KEY UPDATE

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;

Der Vorteil besteht darin, dass Sie die IDs nicht erhöhen und dies immer noch in einer atomaren Abfrage tun. Außerdem aktualisieren / ändern Sie nur das, was Sie ändern müssen. (Beachten Sie, dass ich den update_count eingefügt habe Spalte, um zu zeigen, wie ein Feld aktualisiert wird)...