Mysql
 sql >> Database >  >> RDS >> Mysql

Riutilizza le righe nella tabella MySQL senza incremento automatico

Una soluzione migliore sarebbe quella di impostare una chiave univoca sul feed (a parte la chiave con incremento automatico). Quindi usa 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;

Il vantaggio è che non stai incrementando gli ID e lo stai ancora facendo in una query atomica. Inoltre, stai solo aggiornando/cambiando ciò che devi cambiare. (Nota che ho incluso il update_count colonna per mostrare come aggiornare un campo)...