SQLite到MySQL奇怪的错误#1064

时间:2012-02-15 19:44:34

标签: mysql sqlite phpmyadmin migration mysql-error-1064

我正在将SQLite数据库转换为MySQL,因此我可以将其导入PHPMyAdmin。 这应该是直截了当的。我将它导出到转储,更改了自动增量并将所有双引号更改为反引号。这就是生成的文件的开头:

DROP TABLE IF EXISTS `chars`;
CREATE TABLE chars(
                            charid INTEGER PRIMARY KEY AUTO_INCREMENT,
                            character TEXT
                    );
INSERT INTO `chars` VALUES(3,'a');
INSERT INTO `chars` VALUES(4,'b');

... 尝试导入PHPMyAdmin时会抛出此错误。

Error
SQL query:

CREATE TABLE chars(

charid INTEGER PRIMARY KEY AUTO_INCREMENT ,
CHARACTER TEXT
);

MySQL said: 

#1064 - 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 'character TEXT
                    )' at line 3

缩进线后面是否有太多空间?我将“format”选项保留为“SQL”,将SQL兼容模式保留为NONE,并选中“不要将AUTO_INCREMENT用于零值”。 它将用于django网络应用程序。

1 个答案:

答案 0 :(得分:6)

CHARACTERreserved word in mySQL。我打赌这就是原因。

使用不同的列名(首选),或使用反引号:

 `CHARACTER` TEXT