我有一個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很多.. –