2016-06-16 7 views
1

私のテーブルには、他の列と2つの列があります。これらの2つのカラムはDATETIMEタイプであり、その値は前のプログラマによって0000-00-00 00:00:00に設定されています。今はint型のカラムを追加したいだけです。ただし、phpMyAdminで保存するたびに、前の2つの表は無効なデフォルト値になっています。無効なdatetimeのデフォルト値のため、新しい列を追加できません

そのうちの1つをクリックすると、デフォルトで「なし」、つまりregisterDateLastLoginDateの列が設定されます。 registerDateの保存をクリックすると、LastLoginDateに無効なデフォルト値があり、LastLoginDateの保存をクリックするたびにregisterDateに無効なデフォルト値が設定されています。基本的には、これらの2つの列のデフォルト値を変更することはできず、他の列を追加することもできません。

私はこれらを参照してくださいでしたが、彼らは何とか私の問題を解決するのに役立ちません。

MySQL default datetime through phpmyadmin

MySQL - Cannot insert NULL value in column, but I have a default value specified?

Invalid default value for 'dateAdded'

答えて

0

はおそらくno_zero_date and strict sql modesの組み合わせが有効になっています(依存しますあなたの正確なMySQLバージョンでは)、MySQLは'0000-00-00'をデフォルト値として使用しません。 SET SESSION sql_mode = '...';コマンドを使用して厳密なSQLモードを無効にします(ただし、正確なSQLモード設定を書き留めてください)。次に、デフォルトのゼロ日付を使用しないようにテーブルを変更します。その後、SQLモード設定を復元できます。

+0

SET sql_mode = ''を試みましたが役に立たない – 112233

+0

正確なエラーの説明ではありません。 1)SQLモードを正常に変更しましたか? 2)SQLモードを変更した後、正確に何をしようとしましたか? 3)あなたが受け取った正確なエラーメッセージは何でしたか? – Shadow

+0

strictモードを空文字列mysql iniに変更しました。 – 112233

関連する問題