由于无效的日期时间默认值,无法添加新列

时间:2016-06-16 08:39:04

标签: mysql datetime phpmyadmin

在我的表格中,我有两列和其他列。这两列属于DATETIME类型,其值由前一个程序员设置为0000-00-00 00:00:00。现在我只想添加int数据类型的列。但是,每次我在phpMyAdmin中单击“保存”时,都会显示前两个表的默认值无效。

所以我点击其中一个将默认设置为无,即registerDateLastLoginDate列。每当我点击registerDate上的保存时,它都会显示LastLoginDate的默认值无效,每当我点击LastLoginDate上的保存时,它都会显示registerDate的默认值无效。基本上我只是无法更改这两列中的默认值,也无法添加任何其他列。

我确实提到了这些,但他们在某种程度上无助于解决我的问题:

MySQL default datetime through phpmyadmin

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

Invalid default value for 'dateAdded'

1 个答案:

答案 0 :(得分:1)

可能会启用no_zero_date and strict sql modes的组合(取决于您的确切MySQL版本),从而阻止MySQL将'0000-00-00'用作默认值。我会使用SET SESSION sql_mode = '...';命令禁用严格的sql模式(但请注意确切的sql模式设置),然后我会更改表不使用默认的零日期,然后你可以恢复sql模式设置。 / p>