2016-08-06 23 views
1

mysqlの日付の値を増やすことはできますか? Mysqlの間隔の日付を増やす方法

+------+---------------------+ 
| PID | mydate    | 
+------+---------------------+ 
| 1 | 2016-08-06 08:00:00 | 
| 2 | 2016-08-06 08:00:00 | 
| 3 | 2016-08-06 08:00:00 | 
+------+---------------------+ 

そして、私は、10時間ずつ増加各値を作るために、このような何か欲しかっ:私はこれを持っていると言う、私はこの

update mytable set mydate = now() + interval 10 hour; 

を試してみましたが、それが更新されます

+------+---------------------+ 
| PID | mydate    | 
+------+---------------------+ 
| 1 | 2016-08-06 18:00:00 | 
| 2 | 2016-08-07 04:00:00 | 
| 3 | 2016-08-07 14:00:00 | 
+------+---------------------+ 

を今から10時間ごとに

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

EDIT:あなたはこのために、変数を使用することができます

答えて

2

私はは、元のデータで順序であるが気づきます。 1でid刻み場合

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

のみ動作し、何のギャップを持っていません。でも

set @i = 0; 

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

かを:それが機能するには。

+0

それは動作しますが、最初の値は20時間で増加しますが、動作します、ありがとう) –

+1

良い例(http://sqlfiddle.com/#!9/3caf05/1)。注文がどのように強制されているのか不思議です。 – sgeddes

+0

@sgeddes。 。 。面白いことに、私が(前に)「ピッド」で物事を注文しようとしていたということは、私には起こりませんでした。それはセカンドルックでは本当に明らかです。良いキャッチ。 –

関連する問題