我有一个mysql
数据库,并在一个table
我有f_id
为P_Key
这f_id
在多个table
引用为f_key
。我想要删除所有table
中这个f_id
(比如说10)的记录。那么为此我需要delete
所有table
哪些有f_id
= 10作为f_key
那么只有我可以delete
这从主table
其中包含它作为P_Key
。可以有任何自动过程,它可以delete
这个通过自动查看table
,我不想在查询中记下整个列表中的table
(因为该列表非常大,超过18个表格),因为此p_key
被引用很多tables
。MYSQL:删除所有表中的记录单杆
0
A
回答
1
最简单的方法是在您的密钥上设置一个ON DELETE CASCADE CONSTRAINT,这样在删除父表上的记录时将删除引用该行的其他表中的所有子记录。请注意,如果它们没有ON DELETE CASCADE约束,则需要删除外键并再次添加它们。这样的事情:
SHOW CREATE TABLE [table_name]
ALTER TABLE [table_name] DROP FOREIGN KEY [f_id];
ALTER TABLE [table_name]
ADD CONSTRAINT [f_id]
FOREIGN KEY (`[f_id]`) REFERENCES `[other_table]` (`[column_name]`)
ON DELETE CASCADE;
0
您应该能够查看information_schema
表以找出您的表的名称。喜欢的东西:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = "database_name"
与要检查数据库的名称替换database_name
,它应该返回所有的表名。您可能可以使用该列表做些事情。
+0
是的,但它也会给我所有的表名,但我仍然需要查找表中的f_id检查,然后只有我可以框架查询,但我想要的是那个数据库应该代表我在这个f_id出现的地方查看,然后删除。 –
相关问题
- 1. 从mysql表中删除所有记录
- 2. MySQL删除所有记录未选中
- 3. 删除表中的所有记录
- 4. CakePHP删除表中的所有记录
- 5. MySQL删除INNER JOIN中的COUNT不删除所有记录
- 6. 使用Java在mysql中删除表中的所有记录
- 7. 在phpMyAdmin中删除MYSQL表中的所有记录
- 8. 从表中删除所有记录 - doCMD.RunSQL
- 9. 从所有表中删除记录ID
- 10. 从mysql数据库的所有表中删除一条记录
- 11. mysql的删除所有记录删除外键
- 12. 从临时表中删除记录时将被删除的所有记录
- 13. 删除所有旧记录
- 14. 从数据库的所有表中删除所有记录
- 15. 删除所有表中存在的所有记录
- 16. 删除NSManagedObjectContext中的所有记录
- 17. MySQL的删除记录的所有文字,除了关键字
- 18. 如何删除父记录时删除所有子记录?
- 19. 如何从所涉及的所有表中删除记录?
- 20. MYSQL删除记录
- 21. MySQL从2个表中删除记录
- 22. 自动从Mysql表中删除记录
- 23. 如何删除MySQL InnoDB中的所有相关记录?
- 24. 如何删除MySQL中的所有孤立记录?
- 25. 如何删除表中的一行时删除所有相关的表记录?
- 26. 删除所有在表中iPhone SDK中的记录与sqlite3的
- 27. 删除除一个重复记录以外的所有记录
- 28. MySQL仅删除单个表中的记录
- 29. 记事本++删除所有不在单词表中的单词
- 30. 有效删除所有重复记录
为此,我在所有的桌子上都做了这个,但是意外地还剩下两张桌子,加了CASCADE,我做了很多..THNK很多.. –