首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用某个ID子句从MYSQL中删除所有表中的所有行

问使用某个ID子句从MYSQL中删除所有表中的所有行
EN

Stack Overflow用户
提问于 2017-02-22 15:06:02
回答 1查看 358关注 0票数 1

是否可以使用MYSQL DB中的some id = '123'从所有表中删除所有行。

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

现在,新逻辑的实现方式是正确的,但我必须删除前面的行。在一个MYSQL查询中是否可能出现这种情况?

不存在、DBA、级级联关系。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-02-22 15:25:45

我根据我的数据库为您提供输出,该数据库有多个具有列Id的表。所以用你的数据库名代替我的数据库'djangogirls‘。

SQL查询(用数据库名替换django少女)

代码语言:javascript
复制
SELECT CONCAT('DELETE FROM ',TABLE_NAME," WHERE Id = '1';") FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'djangogirls'
AND COLUMN_NAME ='Id';

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

输出

代码语言:javascript
复制
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命令进行备份。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42395160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档