我需要创建表,然后执行以下操作:
CREATE TABLE "home" (
"id" int(11) NOT NULL AUTO_INCREMENT,
"address" varchar(200) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY ("id")
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
执行此查询时,出现此错误:
Errore SQL [1064] [42000]: 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 '"causali" (
"id" int(11) NOT NULL AUTO_INCREMENT,
"address" va' at line 1
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 '"home" (
"id" int(11) NOT NULL AUTO_INCREMENT,
"adddress" va' at line 1
有人可以帮助我吗?
答案 0 :(得分:2)
在启用ANSI_QUOTES
模式之前,MySQL不喜欢在表/列/别名上使用双引号。
将“”作为标识符引号字符(如`引号字符) 而不是字符串引号字符。您仍然可以使用反引号 启用此模式的标识符。启用ANSI_QUOTES后,您 不能使用双引号引起来的文字字符串,因为 它们被解释为标识符。
此模式默认为禁用。现在,您可以在它们之间使用反引号,也可以不使用双引号(除非它是Reserved keyword,否则您将不得不在其周围使用反引号)。
CREATE TABLE home (
id int(11) NOT NULL AUTO_INCREMENT,
address varchar(200) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COLLATE=latin1_bin;