Mysql
 sql >> Base de données >  >> RDS >> Mysql

Lors de la mise à jour de la clé en double, identique à l'insertion

La UPDATE est donnée afin que les champs plus anciens puissent être mis à jour avec une nouvelle valeur. Si vos anciennes valeurs sont les mêmes que vos nouvelles, pourquoi auriez-vous besoin de les mettre à jour dans tous les cas ?

Par ex. si vos colonnes a à g sont déjà définis comme 2 à 8; il n'y aurait pas besoin de le mettre à jour.

Vous pouvez également utiliser :

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;

Pour obtenir l'id de LAST_INSERT_ID; vous devez spécifier l'application backend que vous utilisez pour la même chose.

Pour LuaSQL, un conn:getlastautoid() récupère la valeur.