创建MySQL表时触发#1064语法错误,请求排查解决
解决MySQL创建表时的#1064语法错误
嘿,这个问题我太熟了——你遇到的是MySQL标识符引用的经典错误,还有一点点语法结构的小问题,咱们一步步来解决:
错误的核心原因
- 标识符引用错误:你用了单引号(
')来包裹表名pendaftar和所有列名,但MySQL里单引号是用来包裹字符串值的,标识符(表名、列名)需要用反引号(`);如果标识符是合法的(没有空格、特殊字符,不是MySQL关键字),甚至可以不用引号。 - 主键约束位置错误:你把
PRIMARY KEY (id)直接跟在keluhan列的定义后面,导致语法结构混乱,应该在所有列定义完成后,用逗号分隔再声明主键约束。
修正后的SQL语句
CREATE TABLE `pendaftar` ( `id` int(10) NOT NULL AUTO_INCREMENT, `tgl` DATE NOT NULL, `nopol` VARCHAR(10) NOT NULL, `motor` VARCHAR(50) NOT NULL, `servis` VARCHAR(50) NOT NULL, `keluhan` LONGTEXT NOT NULL, PRIMARY KEY (id) );
额外小提示
如果你的表名和列名都没有特殊字符,也不是MySQL的保留关键字,你可以完全去掉反引号,让代码更简洁:
CREATE TABLE pendaftar ( id int(10) NOT NULL AUTO_INCREMENT, tgl DATE NOT NULL, nopol VARCHAR(10) NOT NULL, motor VARCHAR(50) NOT NULL, servis VARCHAR(50) NOT NULL, keluhan LONGTEXT NOT NULL, PRIMARY KEY (id) );
内容的提问来源于stack exchange,提问作者Realalun
相关产品推荐
相关产品推荐

