Python 迁移中的Django rawSQL:SQL语法中有错误,但SQL是正确的
对于我的django应用程序(mysql后端),我有一个非常小的迁移,看起来像这样Python 迁移中的Django rawSQL:SQL语法中有错误,但SQL是正确的,python,mysql,django,migration,Python,Mysql,Django,Migration,对于我的django应用程序(mysql后端),我有一个非常小的迁移,看起来像这样 mymileages.sql文件如下所示: INSERT INTO `mileage_mileage` (`miles`, `start_location`, `end_location`) VALUES (3.7, 'Location 1', 'Location A'), (2.4, 'Location 2', 'Location B'), (4.3, 'Location 3', 'Location C');
mymileages.sql
文件如下所示:
INSERT INTO `mileage_mileage` (`miles`, `start_location`, `end_location`) VALUES
(3.7, 'Location 1', 'Location A'),
(2.4, 'Location 2', 'Location B'),
(4.3, 'Location 3', 'Location C');
我可以在迁移之外运行SQL,它运行良好,没有问题
但是,当我运行迁移时,会出现以下错误:
编程错误:(1064,“您的SQL语法有错误;请查看与您的MariaDB服务器版本相对应的手册,以便在第1行的“mymileages.SQL”附近使用正确的语法”)
正如其他人所指出的,我的做法是错误的
我已经添加了一个fixture,并将使用该文件引入数据
首先,我必须将数据添加到表中(我只是手动运行SQL文件以将其添加到相应的表中)
然后我跑了
manage.py dumpdata miliege.miliege--indent 2--format=json--output initial_mileages.json
这创建了我的装置,然后我加载了它
loaddata
而且它导入得非常漂亮。我对django不是非常熟悉,但我认为RunSQL使用的是
mymileages.sql
作为查询,而不是mymileages.sql文件中的正确查询。bro迁移用于创建表,您如何通过迁移文件插入它?
INSERT INTO `mileage_mileage` (`miles`, `start_location`, `end_location`) VALUES
(3.7, 'Location 1', 'Location A'),
(2.4, 'Location 2', 'Location B'),
(4.3, 'Location 3', 'Location C');