为什么我不能使用 Current_timestamp 作为 mysql 中的默认值?
我使用 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() 也有同样的问题。
I has a MySQL database set up locally with phpmyadmin. I wanted to use the available tables in a remote database, so I exported the SQL from phpmyadmin and tried to run it on the other DB.
This is what the export gave me:
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 ;
However, now it complains that there is a parse error
near 'CURRENT_TIMESTAMP, PRIMARY KEY (
ID
) ) ENGINE=MyISAM DEFA".
It worked on my local db, why not here? What changed and how do I fix it?
EDIT: I've tried using other functions like NOW() or CURDATE() as well, same problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自文档:
MySQL 4.0.24 已经非常过时了,此时 - 考虑迁移到以 5 开头的版本。:-)
From the documentation:
MySQL 4.0.24 is incredibly outdated, at this point - consider migrating to a version that starts with a 5. :-)