datetimeフィールドを挿入するアプリケーションがあります。それは秒で挿入され、それはするつもりはなかったが、問題があった!datetimeフィールドを正規化するMySQLクエリ
I.e. 2011年8月7日午後3時24分〇六秒
彼らはこれを修正しており、上記の例では、
2011年8月7日15時24分00秒
のようになりますので、挿入は今だけ分まで含めます現在、2千万の行が「間違っています」。古いものを修正する最も効率的なクエリは何ですか?
datetimeフィールドを挿入するアプリケーションがあります。それは秒で挿入され、それはするつもりはなかったが、問題があった!datetimeフィールドを正規化するMySQLクエリ
I.e. 2011年8月7日午後3時24分〇六秒
彼らはこれを修正しており、上記の例では、
2011年8月7日15時24分00秒
のようになりますので、挿入は今だけ分まで含めます現在、2千万の行が「間違っています」。古いものを修正する最も効率的なクエリは何ですか?
UPDATE
table
SET
timefield = DATE_FORMAT(timefield,'%Y-%m-%d %H:%i:00')
WHERE
SECOND(timefield) <> 0;
これは(これは避けられない)テーブルの各行を読み取り、時間のseconds
一部を抽出しなければならないが、それは既に正しい行を更新する必要はありません。
「間違った」ものに基づいてアップデートをフィルタリングし、最後の3文字の右トリムを実行します。
ただし、トリムでこれらの文字が削除されますか?私はそれが変更されたときに知っているように簡単にフィルタリングできますが、更新ステートメントの例がありますか? –
エミールの答えはあなたのために良いwrkになります。 – diagonalbatman
しかし、私は以下を使用する必要はありません:00:%s ?? –
リー、もちろん、私はこれを修正しました。 –