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

MySQL ON DUPLICATE KEY - último ID de inserção?


Confira esta página:https://web. archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Na parte inferior da página, eles explicam como você pode tornar LAST_INSERT_ID significativo para atualizações passando uma expressão para essa função MySQL.

Do exemplo de documentação do MySQL:

Se uma tabela contém uma coluna AUTO_INCREMENT e INSERT ... UPDATE insere uma linha, a função LAST_INSERT_ID() retorna o valor AUTO_INCREMENT. Se a instrução atualizar uma linha, LAST_INSERT_ID() não será significativo. No entanto, você pode contornar isso usando LAST_INSERT_ID(expr). Suponha que id seja a coluna AUTO_INCREMENT. Para tornar LAST_INSERT_ID() significativo para atualizações, insira linhas da seguinte forma:
INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;