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

Na atualização de chave duplicada igual à inserção


A UPDATE é fornecida para que os campos mais antigos possam ser atualizados para um novo valor. Se seus valores mais antigos são os mesmos que os novos, por que você precisaria atualizá-los em qualquer caso?

Por ex. se suas colunas a para g já estão definidos como 2 para 8; não haveria necessidade de atualizá-lo novamente.

Alternativamente, você pode usar:
INSERT INTO table (id,a,b,c,d,e,f,g)
VALUES (1,2,3,4,5,6,7,8) 
ON DUPLICATE KEY
    UPDATE a=a, b=b, c=c, d=d, e=e, f=f, g=g;

Para obter o id de LAST_INSERT_ID; você precisa especificar o aplicativo de back-end que está usando para o mesmo.

Para LuaSQL, um conn:getlastautoid() pega o valor.