sql >> Databasteknik >  >> RDS >> Mysql

Hur man ökar intervalldatumet på Mysql

Du kan använda variabler för detta:

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

EDIT:

Jag märker att det finns en beställning i originaldata. För att det ska fungera:

set @i = 0;

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

Eller till och med:

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

Detta fungerar bara om id ökar med 1 och har inga luckor.




  1. Hur kan jag skriva ut SQL-frågan som körs efter att Perls DBI har fyllt i platshållarna?

  2. UTF-8 MySQL och Charset

  3. Hur konverterar man 2d array från PostgreSQL DB till java 2d array med JDBI?

  4. PostgreSQL - Tilldela heltalsvärde till sträng i case-satsen