这是我的表创建查询:
#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说的吗?
答案 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)
)