Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建带有默认值的表时出错_Mysql_Constraints_Default - Fatal编程技术网

Mysql 创建带有默认值的表时出错

Mysql 创建带有默认值的表时出错,mysql,constraints,default,Mysql,Constraints,Default,使用MySql Workbench 6.3构建版本6.3.6。 我试图创建一个带有默认约束的表,但它给了我一个错误 这是剧本 Create Table `Migration_Log2` ( `Id` Int NOT NULL AUTO_INCREMENT, `FilePath` varchar(1000) NOT NULL,

使用MySql Workbench 6.3构建版本6.3.6。 我试图创建一个带有默认约束的表,但它给了我一个错误

这是剧本

Create Table `Migration_Log2` (

                                    `Id` Int NOT NULL AUTO_INCREMENT,
                                    `FilePath` varchar(1000) NOT NULL,
                                    `FileName` varchar(100) NOT NULL,
                                    `IsSent` bool NOT NULL DEFAULT '0',
                                    `CreatedDate` DateTime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                                    `ModifiedDate` DateTime NOT NULL DEFAULT CURRENT_TIMESTAMP,
                                    `SendAttemptMade` int NOT NULL DEFAULT '0',
                                    `Message` Text  DEFAULT NULL,
                                     PRIMARY KEY (`Id`),
                                      KEY `migration_log_Id_UNIQUE` (`Id`)
                                    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
错误消息

错误代码:1067。“CreatedDate”0.000秒的默认值无效
这可能是由于对数据库服务器上的数据类型检查有一些严格的限制。 我建议将
CreatedDate
字段的类型从
datetime
更改为
timestamp


我在我的网站的VPS中遇到了类似的问题。

您当前的时间戳可能在输出中附加了微秒

尝试使用:CURRENT_TIMESTAMP(0)作为默认值

SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP(0), CURRENT_TIMESTAMP(1), CURRENT_TIMESTAMP(2);

微秒可能很重要。查看差异。

您的查询运行良好。检查这个:哪个mysql版本?这个问题将帮助您获得解决方案1。将CreatedDate列的datetime更改为时间戳怎么样?2.尝试将utf8改为拉丁语进行测试。这也可能是一个原因。3.但是你也应该看到你的错误信息。嘿,Bimal,你能不能在你这边试试,让我知道,因为我厌倦了一切,事实上,即使是从UI也不允许你的原始脚本在我的mysql 5.6版本中运行正常。只是尝试猜测在服务器设置中其他配置有什么不同。