0
DateTime値が正しくない既存の「DateTime」列があります。MySQL - 既存の間違った0の値(0000-00-00 00:00:00)を選択して更新して日付時刻の値を修正する
値は「0000-00-00 00:00:00」です。このためので
私は、このように私のテーブルを変更:
ALTER TABLE `my_table` MODIFY `my_datetime` DATETIME DEFAULT NULL;
は今、私はNULLに間違った値を更新します。
しかし、このクエリは動作しません:UPDATE `my_table`
SET `my_datetime` = NULL
WHERE `my_datetime` = '0000-00-00 00:00:00'
を私は、このエラーメッセージました:
不正な日時の値:列 は '0000-00-00 00:00:00' '行1の「my_datetime」
しかし、値を選択しようとすると結果が得られます。
SELECT * FROM `my_table`
WHERE `my_datetime` = '0000-00-00 00:00:00'
どのように私の間違った値をNULLに更新できますか?
'値は「0000-00-00 00:00:00」です。「簡単なサポートされる年は1000です」(http://dev.mysql.com/doc) /refman/5.7/en/datetime.html)。 –
はい、問題は、このフォーマットが今の私のテーブルにあるということです。だから私はそれを修正する必要がありますが、私は方法を知らないのです。 – goldlife
Hmmm ... 'SELECT MIN(my_datetime)FROM my_table'は何を表示しますか? –