网站建设策划书1万字,网络架构图和拓扑图,seo工作室,网络推广优化品牌公司操作服务器环境为Linux centos5.7安装的mysql版本 MariaDB#xff0c;图简单直接使用命令install上去的。在自己mac上测试数据库修改Alter语句没有问题的#xff0c;ALTER TABLE XXX.XXX ADD COLUMN createtime datetime NOT NULL DEFAULT NOW() AFTER userinfo;但是在服务器…操作服务器环境为Linux centos5.7安装的mysql版本 MariaDB图简单直接使用命令install上去的。在自己mac上测试数据库修改Alter语句没有问题的ALTER TABLE XXX.XXX ADD COLUMN createtime datetime NOT NULL DEFAULT NOW() AFTER userinfo;但是在服务器上修改运行则 提示错误ERROR 1067 (42000): Invalid default value for createtime查了查很多说是sql_mode设置的不对查了下没有设置都是空的但是发现了一个问题 就是mysql版本是MariaDB [XXX] show variables like version;-------------------------------| Variable_name | Value |-------------------------------| version | 5.5.52-MariaDB |-------------------------------而测试机环境是 version 5.7.17。 》》》查资料了一番后得知datetime类型只支持Mysql5.6.5以上版本。修改测试语句--- 将 datetime换成 TIMESTAMP即可ALTER TABLE XXX.XXX MODIFY COLUMN createtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;------------------------------------------------------------------------| Field | Type | Null | Key | Default | Extra |------------------------------------------------------------------------| id | int(11) | NO | PRI | NULL | auto_increment || createtime | timestamp | NO | | CURRENT_TIMESTAMP | |------------------------------------------------------------------------还有“DEFAULT NOW()” 命令行不太好使但客户端执行没问题参考http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198原文链接http://zl378837964.iteye.com/blog/2368532