Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL fornisce un errore di immissione duplicato quando si tenta di aumentare il campo della data?

Questo è un problema su come UPDATE di MySQL funziona, riga per riga, come spiegato da p.cambell. Un altro modo per aggirare questo problema è dire esplicitamente al motore come ordinare gli aggiornamenti (un'altra stranezza di MySQL):

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

Regola pratica:se vuoi aumentare i PK (o un'altra chiave univoca), ordina per decrescente. Se vuoi diminuire i PK, ordina per ascendente.