2010-12-06 196 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

相關問題