[英]Syntax Error Creating a table with a column named '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,它還有其他優點。
將列名desc
更改為任何不同的東西,因為它是descend
或describe
的保留詞
desc
是保留字,
不能
作為表或列的名稱。 您可以使用description
作為列名。 隨着名稱的更改,您的聲明應該有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.