这个问题在这里已经有了答案:
在mysql中将保留字用作表名或列名时出现语法错误(1个答案)
两年前关门了。
它不喜欢用release这个词作为列名。
CREATE TABLE external_db (
external_db_id INT not null,
db_name VARCHAR(100) NOT NULL,
release VARCHAR(40) NOT NULL,
status ENUM ('KNOWNXREF','KNOWN','XREF','PRED','ORTH', 'PSEUDO') not null,
PRIMARY KEY( external_db_id )
);
我将字段名更改为releasex,错误就消失了。
这个脚本来自https://github.com/ensembl/ensembl/blob/release/91/sql/table.sql,应该是mysql。这是mysql中的版本控制问题,还是我可以在脚本中修饰release一词,使其可以用作列名?
我正在使用mysql5.7和mysqlworkbench 6.3。
我知道release对于一个专栏来说是个坏名字,但是我没有写这个脚本。
1条答案
按热度按时间carvr3hs1#
release是一个保留关键字
要将其用作列名,可以使用反勾号对其进行转义,如下所示: