0

我正在将我的 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'”)

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

谢谢,J。

4

1 回答 1

1
  1. 您在数据库中有现有数据吗?
  2. 尝试使用 indent --4 来获得一个你可以关注的版本
  3. 发布一些示例数据
  4. 看起来您有重复的键违规,或者您尝试插入的数据与列类型不匹配,即检查您的 models.py、字段类型和在 mysql 中创建的表中应用的约束

那么问题是为什么它在 SQLITE 而不是我的 sql 中工作?

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

与大多数 SQL 数据库不同,SQLite 不会根据声明的列类型来限制可以插入到列中的数据类型。相反,SQLite 使用动态类型。

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

于 2010-12-06T23:13:49.657 回答