我该如何解决这个问题?

时间:2020-08-29 03:54:42

标签: php mysql

我遇到了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

enter image description here

enter image description here

2 个答案:

答案 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和默认值有什么意义?