gpt4 book ai didi

mysql - 使用某些 ID 子句从 MYSQL DB 的所有表中删除所有行

转载 作者:行者123 更新时间:2023-11-28 23:19:35 26 4
gpt4 key购买 nike

是否可以删除 MYSQL 数据库中所有表的所有行,some id = '123'

实际上我需要这个,因为其他表中有很多垃圾数据,但主表中的行被删除,我有 ID。

现在新逻辑以正确的方式实现,但我必须删除以前的行。是否可以在单个 MYSQL 查询中实现?

没有DBA级别的级联关系。

提前致谢

最佳答案

我正在为您提供基于我的数据库的输出,该数据库具有多个具有列 ID 的表。因此,请将我的数据库“djangogirls”替换为您的数据库名称。

SQL 查询(将 djangogirls 替换为您的数据库名称)

SELECT CONCAT('DELETE FROM ',TABLE_NAME," WHERE Id = '1';") FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'djangogirls'
AND COLUMN_NAME ='Id';

上面的输出将是一个 sql delete 语句列表,您可以复制粘贴并简单地运行它。

输出

DELETE FROM auth_group WHERE Id = '1';
DELETE FROM auth_group_permissions WHERE Id = '1';
DELETE FROM auth_permission WHERE Id = '1';
DELETE FROM auth_user WHERE Id = '1';
DELETE FROM auth_user_groups WHERE Id = '1';
DELETE FROM auth_user_user_permissions WHERE Id = '1';
DELETE FROM blog_post WHERE Id = '1';
DELETE FROM django_admin_log WHERE Id = '1';
DELETE FROM django_content_type WHERE Id = '1';
DELETE FROM django_migrations WHERE Id = '1';

再次确保您确切地知道自己在做什么。最好使用 mysqldump -u root -p yourdb > yourdb.sql 命令进行备份。

关于mysql - 使用某些 ID 子句从 MYSQL DB 的所有表中删除所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395160/

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