我在从SQLite3导入转储时出现问题,我通过一个脚本来消除大部分冲突,但仍有一些仍然存在。
ERROR 1064 (42000) at line 558774: 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 'MONTH NOT NULL,
grade INTEGER,
school INTEGER REFERENCES school(id),
' at line 4
它似乎不是a quoting issue,有些悬挂逗号等等。
第558774行是month
行:
...
INSERT INTO census_block VALUES(1234,-0.32,1.47,NULL,NULL);
INSERT INTO census_block VALUES(5678,-0.43,-0.24,NULL,NULL);
CREATE TABLE history(
sid INTEGER NOT NULL REFERENCES student(sid),
year YEAR NOT NULL,
month MONTH NOT NULL,
grade INTEGER,
school INTEGER REFERENCES school(id),
assigned_school INTEGER REFERENCES school(id),
census_block INTEGER REFERENCES census_block(id)
);
INSERT INTO history VALUES(2319802,1991,9,9,1470,NULL,2468);
INSERT INTO history VALUES(2319802,1992,5,9,1470,NULL,3692);
...
答案 0 :(得分:1)
MySQL中没有Month
数据类型。相反,请为Integer
列使用month
。
CREATE TABLE history(
sid INTEGER NOT NULL REFERENCES student(sid),
year YEAR NOT NULL,
month INTEGER NOT NULL,
grade INTEGER,
school INTEGER REFERENCES school(id),
assigned_school INTEGER REFERENCES school(id),
census_block INTEGER REFERENCES census_block(id)
);
答案 1 :(得分:1)
月份不是合法的数据类型。将其更改为int或smallint,即month int