我遇到了这个错误:
#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 ''tablename'(
'id'MEDIUMINT NOT NULL AUTO_INCREMENT,
'content'TEXT NOT NULL,
'd' at line 1
从这句话:
CREATE TABLE 'tablename'(
'id'MEDIUMINT NOT NULL AUTO_INCREMENT,
'content'TEXT NOT NULL,
'date_added' DATETIME NOT NULL,
'user' VARCHAR (16) NOT NULL,
PRIMARY KEY ('id'),
UNIQUE ('id')
); ENGINE=MyISAM;
为什么?
答案 0 :(得分:3)
您需要反引号而不是单引号('
)。反击是这个角色:
`
更好 - 不要打扰任何一个:
CREATE TABLE tablename (
id MEDIUMINT ...
重要:另请参阅以下来自tadman的评论;他们通过解释反引号并指出另一个语法问题很好地完善了这个答案。
答案 1 :(得分:1)
您使用的是不正确的表示法。 在create table语句中,您使用的是单引号(')。 您不能在此处使用表名和列名。 替代品是刻度线(`)。或者完全删除所有符号。
这是您的代码,功能齐全:
CREATE TABLE tablename (
`id` MEDIUMINT NOT NULL,
`content`TEXT NOT NULL,
`date_added` DATETIME NOT NULL,
`user` VARCHAR (16) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE (`id`)
);
答案 2 :(得分:0)
您在列名和前两列的类型之间缺少空格。还有,你有一个;到最后的许多人
CREATE TABLE 'tablename'(
'id' MEDIUMINT NOT NULL AUTO_INCREMENT,
'content' TEXT NOT NULL,
'date_added' DATETIME NOT NULL,
'user' VARCHAR (16) NOT NULL,
PRIMARY KEY ('id'),
UNIQUE ('id')
) ENGINE=MyISAM;