2013-03-27 77 views
0

我在django项目中为我的数据库使用sqlite3,然后决定将其更改为mysql引擎。我正确地更改了settings.py中的所有内容,为了不丢失数据库,我将我的sqlite转储到了文本中,并且我改变了每个“with`,删除了Commit和所有与sqlite3相关的东西。是完全加入了一切。但是,当我尝试在一个表中添加cateogory称为类别。完整性错误django

我收到此错误信息

IntegrityError在/管理/ red_carpet /分类/
(1062“对于密钥1,重复条目“0”)

我以为e密钥重复到什么是错误说。我看着“id”列来查看它是结构,我发现id列是“NOT NULL”。有没有自动增量添加到该列,所以我添加它,并尝试从管理页面做类别我得到了同样的错误我再次看结构,然后我添加查询auto_increment不应该从0开始,但应该开始从去年值是6。然后,我又添加了来自Django管理的范畴,但我仍然得到同样的错误,在结构又看了看,尤其是在phpMyAdmin索引部分,我发现,线

Keyname Type  Cardinality Action Field 
PRIMARY PRIMARY  9     id 

对于我看起来一切都很好,实际上当我通过django管理员添加价值时,虽然我收到了相同的错误消息,但我仍然可以添加它

IntegrityError在/管理/ red_carpet /分类/
(1062, “重复条目 '0' 关键1”)

我真的不明白,为什么这个问题!!!!任何人都已经彻底的彻底了! ??

PS:当我尝试删除某些内容时,出现相同的错误消息。例如,如果我正在删除某个cateogory,则会收到exat错误消息,但是当我查看db时,发现该类别已被删除!

+0

任何帮助家伙? – 2013-03-28 01:13:12

+0

@okm当然,我发布我的问题之前,我做到了 – 2013-03-28 13:33:37

回答

0

防止交叉分辨率问题的一种方法是使用固定装置,例如,转储和(DB-无关)JSON格式的加载数据:

看到dump data commandwhat is a fixture 从Django文档。