2010-12-06 203 views
0

我正在将我的Django数据库从sqlite迁移到mysql。我做了以下没有问题:运行python时出现数据库错误manage.py loaddata datadump.json

python manage.py dumpdata> datadump.json 将您的settings.py更改为mysql数据库。

但是,当我发出以下命令蟒蛇manage.py loaddata datadump.json我得到这个错误:

IntegrityError:(1062, “关键 '重复条目'13 -13' from_category_id'” )

有人能告诉我如何解决这个问题,以便我可以再次运行该命令,并希望加载我的数据?

感谢, J.

+0

1.你有没有在数据库中现有的数据? – ismail 2010-12-06 23:05:56

+0

是的,我有数据库中的数据。 – jimmyc3po 2010-12-07 01:08:30

回答

1
  1. 你有theDB现有的数据?
  2. 尝试用缩进--4得到一个版本,您可以眼球
  3. 邮政一些示例数据
  4. 它看起来像你有一个重复的密钥违规或你试图插入的数据与列类型不匹配,即检查models.py中应用的约束,字段类型以及在mysql中创建的表格

然后问题是为什么它在SQLITE中工作,而不是我的SQL?

简单而言,SQLITE不会做任何类型检查,即您可以轻松地将文本插入到整数字段中。在将数据插入MySQL之前,您需要清理数据。

Unlike most SQL databases, SQLite does not restrict the type of data that may be inserted into a column based on the columns declared type. Instead, SQLite uses dynamic typing.

http://www.sqlite.org/lang_createtable.html

相关问题