0

我有这个错误:

#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;

为什么?

4

3 回答 3

3

您需要反引号而不是单引号 ( ')。反引号是这个字符:

`

更好的是 - 不要打扰:

CREATE TABLE tablename (
  id MEDIUMINT ...

重要提示:另请参阅下面来自 tadman 的评论;他们通过解释反引号并指出另一个语法问题很好地完善了这个答案。

于 2013-04-18T18:41:16.303 回答
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`)
);
于 2013-04-18T18:42:44.317 回答
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;
于 2013-04-18T18:43:57.720 回答