gpt4 book ai didi

mysql - 删除 django 使用的数据库中的表

转载 作者:行者123 更新时间:2023-11-29 06:55:01 26 4
gpt4 key购买 nike

问题陈述:我想删除数据库中的一些表。

获取错误:外键约束失败

详细信息:

我有一个预先存在的(不是由 django models.py 填充的)数据库。我正在使用 Django。我使用这个数据库来创建 django 站点。在 django 中创建站点时,我已经给出了它的名称和正确的设置。 models.py 中没有创建模型。

执行命令后:

python manage.py syncdb

Django 向该数据库添加了以下表格:

| auth_group |

| auth_group_permissions |

| auth_permission |

| auth_user |

| auth_user_groups |

| auth_user_user_permissions |

| django_content_type |

| django_session |

| django_site |

我想删除所有这些表。

我试过这个查询;

DROP TABLE table_name;

但是mysql提示错误显示:

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

有什么方法可以只删除上面提到的表来保持我预先存在的表完好无损吗?

谢谢。

最佳答案

两种可能性:

  1. 在另一个模式(mysql 术语中的“数据库”)中有一个表,它有一个 FK 引用
  2. innodb 内部数据字典与 mysql 不同步。

在删除失败后,您可以通过执行“SHOW ENGINE INNODB STATUS”来查看它是哪个表(无论如何,其中一个)。

如果结果是后一种情况,如果可以的话,我会转储并恢复整个服务器。

MySQL 5.1 及更高版本将在错误消息中为您提供带有 FK 的表的名称。

也试试这个

请引用这个问题stackoverflow

禁用外键检查

DISABLE KEYS

确保 SET FOREIGN_KEY_CHECKS=1;

关于mysql - 删除 django 使用的数据库中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com