sql >> Base de Datos >  >> RDS >> Mysql

En actualización de clave duplicada igual que insertar

La UPDATE se proporciona una declaración para que los campos más antiguos se puedan actualizar al nuevo valor. Si sus valores anteriores son los mismos que los nuevos, ¿por qué necesitaría actualizarlos en cualquier caso?

Por ej. si sus columnas a a g ya están configurados como 2 a 8; no habría necesidad de volver a actualizarlo.

Alternativamente, puede 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 obtener el id de LAST_INSERT_ID; debe especificar la aplicación de back-end que está utilizando para el mismo.

Para LuaSQL, un conn:getlastautoid() obtiene el valor.