列を持つ大きなテーブルがDATETIMEあり、インデックスの理由から、DATE 型だけを含む列を追加したいと考えています。MySQL は次の式でインデックスを使用できないようGROUP BY DATE(datetime)です。そのため、2 つ目のインデックスを持つ別の列を追加したいと考えています。
更新には、次の簡単なステートメントを使用します。
UPDATE table SET datecol = DATE(datetimecol)
ここで奇妙な動作が発生します: にdatecol-columnは正しい値が含まれています。しかし、datetimecolumn変更も同様です: 現在のtimestamp. これは、この列のデフォルト値です。
私はデータベースと MySQL で長年働いていますが、この動作を説明することはできません。
現在のバージョンはMySQL 5.1.66-0.
これについて何か提案や説明はありますか?