Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Reutilize linhas na tabela mysql sem incremento automático


Uma solução melhor seria definir uma chave exclusiva no feed (além da chave incrementada automaticamente). Em seguida, use 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;

O benefício é que você não está incrementando os ids e ainda está fazendo isso em uma consulta atômica. Além disso, você está apenas atualizando/alterando o que precisa mudar. (Observe que incluí o update_count coluna para mostrar como atualizar um campo)...