MySQL查询程序错误

时间:2015-05-13 02:40:46

标签: mysql sql

这是我的表创建查询:

#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
'‘Y’,’N’) NOT NULL DEFAULT ‘N’,PRIMARY KEY (`usergroup`,`tab`,`' at line 7   

然后MySQL说错误:

{{1}}

你能解释一下MySQL说的吗?

4 个答案:

答案 0 :(得分:4)

语法错误是由于您没有使用简单的单引号。

尝试替换

enum(‘Y’,’N’) NOT NULL DEFAULT ‘N’

enum('Y','N') NOT NULL DEFAULT 'N'

(请注意使用'代替)。

答案 1 :(得分:1)

问题是您使用的是印刷引号( ... )而不是普通的ASCII单引号(')。您的查询应如下所示:

CREATE TABLE IF NOT EXISTS `pma_usergroups` (
  `usergroup` varchar(64) NOT NULL,
  `tab` varchar(64) NOT NULL,
  `allowed` enum('Y','N') NOT NULL DEFAULT 'N',
  PRIMARY KEY (`usergroup`,`tab`,`allowed`)
)

某些文字处理程序,例如Microsoft Word,有令人烦恼的自动习惯 - "纠正"这些即使你键入正确的字符。这当然是可配置的,但在我的工作场所,设置往往会偶尔恢复到默认值。

通常最好使用文本编辑器来编写代码。

答案 2 :(得分:-1)

把这样的代码放到

CREATE TABLE IF NOT EXISTS pma_usergroups (

usergroup varchar(64) NOT NULL,

tab varchar(64) NOT NULL,

allowed enum('Y','N') NOT NULL DEFAULT 'N',

PRIMARY KEY (usergroup,tab,allowed)

)

答案 3 :(得分:-1)

CREATE TABLE IF NOT EXISTS pma_usergroups (
  usergroup varchar(64) NOT NULL,
  tab varchar(64) NOT NULL,
  allowed enum('Y','N') NOT NULL DEFAULT 'N',//Put N in single quote
  PRIMARY KEY (usergroup,tab,allowed)
) 

Working Demo