运行python manage.py loaddata datadump.json时出现DB错误

时间:2010-12-06 22:00:01

标签: mysql django sqlite mysql-error-1062

我正在将我的Django数据库从sqlite迁移到mysql。我做了以下没有问题:

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

但是当我发出以下命令时 python manage.py loaddata datadump.json 我收到此错误:

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

有人可以告诉我如何修复此问题,以便我可以再次运行该命令并希望加载我的数据吗?

谢谢, 学家

1 个答案:

答案 0 :(得分:1)

  1. 您是否在数据库中有现有数据?
  2. 尝试使用缩进--4来获得一个可以眼球的版本
  3. 发布一些示例数据
  4. 看起来你有一个重复的密钥违规或你试图插入的数据与列类型不匹配,即检查models.py中应用的约束,字段类型以及在mysql中创建的表
  5. 那么问题是为什么它在SQLITE中工作而不是我的sql?

    简单来说,SQLITE不进行任何类型检查,即您可以轻松地将文本插入整数字段。在将数据插入MySQL之前,您需要清理数据。

      

    与大多数SQL数据库不同,SQLite可以   不限制可能的数据类型   插入基于的列   列声明类型。相反,SQLite   使用动态类型。

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