我遇到了SQL查询错误。
查询:
CREATE TABLE IF NOT EXISTS `shoutbox` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`user` varchar(255) NOT NULL,
`msg` varchar(255) NOT NULL,
`time` datetime(6) DEFAULT NOT NULL CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
MySQL说:
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL
server version for the right syntax to use near
'(6) DEFAULT NOT NULL CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`)
) ENGINE=MyISAM ' at line 5
答案 0 :(得分:0)
因为这看起来像是您的首次导入。
MySQL reference manuals每个链接。如您所见,5.5太老了,仅在PDF版本中。
由于要导入sql文件,因此请仔细查看该文件的文本,它会说出它来自哪个版本。第一步应该是安装相同的主要版本的mysql(前两位,例如5.7或8.0)。如果最后一位数字晚于原始sql,就可以了。
不要以5.5开始,它太旧了。首先考虑至少5.7或8.0,如果更高版本的sql dump。
答案 1 :(得分:0)
默认关键字应在默认值之前
`time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
假设已正确转录了已发布的代码,则此修订可以修复已发布的错误... 并且非null和默认值有什么意义?