mysql – 语法错误使用名为’desc’的列创建表

我似乎永远无法使用TEXT类型的列创建MySQL表.这是我的MySQL

CREATE TABLE factions(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(16) NOT NULL, desc TEXT NOT NULL, admins TEXT NOT NULL, mods TEXT, members TEXT, land TEXT, enemies TEXT, allies TEXT)

当它运行时,我得到这个:

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 'desc text NOT NULL, admins text NOT NULL, mods text, members text, land text, en' at line 1

我无法弄清楚出了什么问题!如果它有任何区别,我正在使用Java.

desc是保留字,不应用作列的名称.您可以使用desc作为列的名称,但如果这样做,则必须始终将其包装在后面.

CREATE TABLE factions(
   id INT NOT NULL AUTO_INCREMENT,
   PRIMARY KEY(id), 
   name    VARCHAR(16) NOT NULL, 
   `desc`  TEXT NOT NULL, 
   admins  TEXT NOT NULL, 
   mods    TEXT, 
   members TEXT, 
   land    TEXT, 
   enemies TEXT, 
   allies  TEXT
);

上面的测试和工作,但因为你总是必须将它包装在后面的标记中(在每个INSERT,UPDATE和DELETE中)你可能想要更改名称,或者只是养成将所有字段包装回去的习惯-ticks,具有其他优点.

转载注明原文:mysql – 语法错误使用名为’desc’的列创建表 - 代码日志