ERROR 1067(42000)无效的默认值&00; 00:00'

时间:2018-01-10 07:45:38

标签: mysql sql

使用SQL Ver 14.14 Distrib 5.7.20,使用EditLine包装器在Linux(x86_64)上通过SSH在Ubuntu服务器上导入SQL文件。

错误指向的行是此行:

 CREATE TABLE `wp_users` (

具有user_registered的行是这一行:

   `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

不确定是什么问题。

请求的整个CREATE TABLE命令:

 CREATE TABLE `wp_users` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_status` int(11) NOT NULL DEFAULT '0',
`display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`ID`),
KEY `user_login_key` (`user_login`),
KEY `user_nicename` (`user_nicename`),
KEY `user_email` (`user_email`)
) ENGINE=MyISAM AUTO_INCREMENT=53 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ;

1 个答案:

答案 0 :(得分:1)

我猜您正在使用MySQL 5.7(或更高版本)。 SQL mode的默认值包括SHOW GLOBAL VARIABLES LIKE 'sql_mode'; /* or...*/ SHOW SESSION VARIABLES LIKE 'sql_mode';

您可以使用

进行检查
NULL

您可以从sql模式中删除上述值,或者只是使列可以为空并存储0000-00-00 00:00:00而不是<input type="text" pattern="(\s*\S\s*)+" />。我更喜欢后者。它不会浪费存储空间,其含义也很明确。

相关问题