2017-07-05 8 views
0

日付欄にデフォルト値を追加しようとしています。デフォルト値はGETDATE()です。私はこれをして、作成された行の日付を見ることができます。私はそれを保存しようとすると、私は警告:Incorrect default value for dateを取得します。日付欄のデフォルト値を追加

誰かがなぜ警告を受けているのか、どのように修正できるのか分かっていますか?

+0

MySQLのデフォルト値の可能性はむしろノーマルl挿入/更新しますが、これは機能しますか? (それは別の型のため、日付のためにもうまくいきますか?)https://stackoverflow.com/a/10603198 –

+0

getdate()の代わりにCURRENT_TIMESTAMPを使用してください。 – Juan

+0

GETDATE()is not a mysql関数NOW()is – Tik

答えて

1

を実行し、このクエリ

ALTER TABLE `YourDb.yourtable` 
    CHANGE COLUMN `date` `date` DATETIME DEFAULT CURRENT_TIMESTAMP; 

変更の欄には、OLDVALたnewvalであり、あなたがタイムスタンプが時に更新することにしたい場合は、あなたの列名ありえない日が適切さらに

それを変更する場合はタイプ を確認してください行が変更された使用

CHANGE COLUMN `date` `date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
+0

このメソッドは動作しています。しかし、それはまた時間を追加しています。私は日付(年 - 月 - 日)を追加したいだけです。どうすれば(年 - 月 - 日)に変更できますか? – John

+1

mysqlは、タイムスタンプと日付/時刻の日付タイプのデフォルトのタイムスタンプのみを表示します。 date()関数 を使用して、選択したクエリで時間部分を削除できます。日付の選択(日付) FROM 'YourDb.yourtable' – Tik

関連する問題