此 MySql 查询在 Windows 中运行良好:
CREATE TABLE `posts`.`table` (
`idTable` INT NOT NULL AUTO_INCREMENT,
`Column1` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`idTable`));
在Ubuntu中,它给出以下错误:
错误 1067:默认值无效
'Column1'
如何在 Ubuntu 中给出CURRENT_TIMESTAMP
默认值?'Column1'
MySql 的版本是这样的:
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
原因是两个环境安装的版本不同。
DEFAULT CURRENT_TIMESTAMP
用于列的选项datetime
是在 5.6 版本中添加的(特别是在 5.6.5 中)。请参阅有关,和Types的DATE
DATETIME
TIMESTAMP
文档:很可能您的 Linux 安装版本较旧,而 Windows 版本较新。解决方案是升级到新版本(或者在旧版本之外安装它)。
此处有关从 5.5 升级到 5.6 的一般信息:从 MySQL 5.5 升级到 5.6以及在 Ubuntu 14.04 LTS 中升级的具体信息。
不要忘记在升级之前备份您的数据并在
mysql_upgrade
之后立即运行。