我在phpmyadmin本地设置了一个MySQL数据库。我想使用远程数据库中的可用表,因此我从phpmyadmin导出了SQL并尝试在其他数据库上运行它。
出口给了我这个:
CREATE TABLE IF NOT EXISTS `messages` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Title` varchar(255) NOT NULL,
`Message` text NOT NULL,
`MsgType` varchar(10) DEFAULT NULL,
`Important` int(1) NOT NULL DEFAULT '0',
`Poster` int(5) DEFAULT NULL,
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;
然而,现在它抱怨有一个解析错误
靠近'CURRENT_TIMESTAMP,PRIMARY KEY(
ID
))ENGINE = MyISAM DEFA“。
它在我的本地数据库上工作,为什么不在这里?改变了什么,我该如何解决?
编辑:我也尝试过使用NOW()或CURDATE()等其他函数,同样的问题。
答案 0 :(得分:2)
注意在旧版本的MySQL(4.1之前版本)中,属性为 TIMESTAMP数据类型在几个方面与实际情况有很大不同 在本节中描述(参见MySQL 3.23,4.0,4.1参考 手册详情);这些包括语法扩展 在MySQL 5.1中已弃用,在MySQL 5.5中不再受支持。这个 对执行转储和恢复或复制有影响 在MySQL服务器版本之间。
MySQL 4.0.24在这一点上已经过时了 - 考虑迁移到以5开头的版本: - )