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

MySQL donne une erreur d'entrée en double lors de la tentative d'incrémentation du champ de date ?

C'est un problème sur la façon dont le UPDATE de MySQL fonctionne, ligne par ligne comme l'a expliqué p.cambell. Une autre façon de contourner ce problème consiste à indiquer explicitement au moteur comment commander les mises à jour (une autre bizarrerie de MySQL) :

UPDATE 2011_electricity 
SET DATE = DATE_ADD( DATE, INTERVAL 1 DAY )
ORDER BY DATE DESC 

Règle de base :si vous souhaitez augmenter les PK (ou autre clé unique), commandez par ordre décroissant. Si vous souhaitez diminuer les PK, commandez par ordre croissant.