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

Sådan øges intervaldatoen på Mysql

Du kan bruge variabler til dette:

update mytable cross join
       (select @i := 0) params
    set mydate = mydate + interval 10 * (@i := @i + 1) hour;

EDIT:

Jeg bemærker, at der er en bestilling i de originale data. For at det skal virke:

set @i = 0;

update mytable 
    set mydate = mydate + interval 10 * (@i := @i + 1) hour
    order by id;

Eller endda:

update mytable 
    set mydate = mydate + interval 10 * (id - 1) hour
    order by id;

Dette virker kun hvis id øges med 1 og har ingen mellemrum.




  1. Forberedt flere Indsæt mysqli

  2. Flere fremmednøgler i samme tabel

  3. Er left join kommutativ? Hvad er dens egenskaber?

  4. Sådan får du to returværdier fra Oracle Stored Procedure