2016-04-01 21 views
0

私は3つ以上のmilionレコードを含むmysqlの大きなデータベースを持っています。更新クエリで時間フィールドの時間をリセットする

私は、「時間」(hh:mm:ss)のフィールドarrival_timeを持っています。 その時刻は24:00:00(実際には00:00:00と表示されます)または25:11:00( - > 1:11:00)などと間違っている可能性があります。

UPDATE 'table' SET arrival_time=(arrival_time_ADJUSTED) WHERE arrival_time>"23:59:59"; 

のようなものを実行するのが正しい方法ですか?そして、arrival_timeに適切な値を与えるためにSQLにどのように伝えることができますか? ありがとうございました。

+0

この種の検証は、エントリ自体の間にアプリケーションのフロントエンドで処理するのが理想的です。 – Spidey

+0

古いデータセットの更新...更新する必要があります:( – JahStation

+0

フィールドタイプ "time"ですか? – Akhil

答えて

2

このクエリを試してみてください。

UPDATE yourtable SET arrival_time = TIMEDIFF(arrival_time, '24:00:00') 
WHERE arrival_time > '23:59:59'; 

これは、最大値は到着時刻が47:59:59である、と仮定されます。より高いレコードがある場合は、すべてのレコードが修正されるまでクエリを再実行してください。

+0

非常に良い私はできるだけ試してみる、私は同じ方向にあった...私はSTR_TO_DATE()といくつかの試しを行います – JahStation

関連する問題