它不喜欢 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 这个词,以便它可以用作列名?
我正在使用MySQL 5.7和MySQLWorkbench 6.3。
我知道 release 是一个错误的列名,但我没有编写脚本。
答案 0 :(得分:1)
要将它用作列名,可以使用这样的反引号来转义它:
from collections import defaultdict
original = {1: 'a', 2: 'b', 3: 'a'}
flipped = defaultdict(list)
for key, value in original:
flipped[value].append(key)