1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 ''comments' 附近使用的正确语法 ('id' int(10) unsigned NOT NULL AUTO_INCRMENT, 'article_i' at line 1
CREATE TABLE IF NOT EXISTS 'comments' (
'id' int(10) unsigned NOT NULL AUTO_INCREMENT,
'article_id' int(10) NOT NULL,
'comment' varchar(45) NOT NULL,
'time' datetime NOT NULL,
'name' varchar(45) NOT NULL,
'email' varchar(45) NOT NULL,
PRIMARY KEY ('id'),
KEY 'fk_comments_article'('article_id')
);
有人看到语法错误吗?
最佳答案
使用反引号代替单个 qoutes。单个 qoutes 用于字符串文字。
CREATE TABLE IF NOT EXISTS `comments` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`article_id` int(10) NOT NULL,
`comment` varchar(45) NOT NULL,
`time` datetime NOT NULL,
`name` varchar(45) NOT NULL,
`email` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
KEY fk_comments_article(`article_id`)
);
反引号`用于使标识符能够用作列名/表名(如果它们恰好是 MySQL 中的关键字)。
这是推荐的方式,因为我们不太可能事先知道所有关键字,并且最终可能会使用其中一个关键字作为列/表的名称,就像您对列 time
所做的那样 在您的 CREATE
中声明。
但是您应该避免使用您所知的关键字 identifires。
关于mysql - SQL语法错误,找不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23243763/