是否存在遍歷數據庫中每個表的mysql statemnet,並說如果applicationid = 123或schoolid = 123或familyid = 123刪除整個記錄?我需要編寫一個可以做到這一點的PHP腳本。如果feildx = 123,刪除數據庫中任何表中的任何記錄
0
A
回答
3
SELECT TABLE_NAME, GROUP_CONCAT(DISTINCT COLUMN_NAME SEPARATOR ',') AS columns
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourdatabasename'
AND COLUMN_NAME IN ('applicationid', 'schoolid', 'familyid')
GROUP BY TABLE_NAME
結果將是各表的陣列,並且它具有(僅來自該組`的applicationID,schoolid,FAMILYID的),爲逗號分隔字段的列。
foreach ($results as $result) {
$cols = explode(',', $result['columns']);
foreach ($cols as &$col) {
$col .= ' = 123';
}
$sql = 'DELETE FROM '. $result['TABLE_NAME'].
' WHERE ' . implode(' OR ', $cols);
}
這會產生像每個表的查詢:
DELETE FROM table1 WHERE applicationid = 123 OR schoolid = 123
而且它只包括表中的字段...
1
這是沒有這樣的單一聲明。 您可以從information_schema數據庫中獲取表名列表,然後使用存儲過程或外部腳本遍歷它並刪除這些行。
以下是有關information_schema表的參考。 http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
0
首先使用SHOW TABLES
遍歷表列出來獲得表的名單,然後和使用DELETE FROM tablename WHERE field=?
重要說明:您應該有權使用SHOW TABLES
0
如何
$showtablequery = "
SHOW TABLES
FROM
[database]
";
$ x ='0'; $ showtablequery_result = mysql_query($ showtablequery); while($ r = mysql_fetch_array($ showtablequery_result)) { $ query =「DELETE FROM $ r [$ x] WHERE applicationid = 123 OR schoolid = 123 OR familyid = 123」; $ X ++ }
相關問題
- 1. 如何正確地從數據庫中刪除記錄列表?
- 2. 如何從數據庫表中自動刪除舊記錄?
- 3. 如何刪除CouchDB中的數據庫中的所有記錄?
- 4. 如何從SSIS中的目標數據庫中刪除記錄
- 5. 無法刪除Solr中的記錄(如果在PHP中有任何空格)
- 6. 如何從數據庫記錄中刪除¶(pilcrow)標記
- 7. 在SQLite數據庫中刪除任務
- 8. 刪除數據庫中的記錄cakephp
- 9. 刪除數據庫中的記錄
- 10. 從數據庫中刪除記錄
- 11. SQL刪除命令不實際刪除表中的任何記錄?
- 12. 如何從onlongitemclick函數中刪除數據庫記錄
- 13. Vaadin從數據庫中刪除記錄
- 14. 如何刪除varchar中包含任何元素列表的所有記錄?
- 15. 如何使用C刪除數據庫中的記錄#
- 16. 如何刪除mysql數據庫中的記錄?
- 17. 如何我暫時從我的數據庫中刪除記錄?
- 18. 如何刪除phpmyadmin中的數據庫記錄?
- 19. 從數據庫中刪除記錄
- 20. 根據另一個數據庫中的表記錄刪除Hive中的記錄
- 21. 從數據庫中刪除記錄
- 22. 從數據庫中刪除記錄
- 23. 從MySQL數據庫中刪除記錄
- 24. 從sqlite數據庫中的表中刪除所有記錄
- 25. 休眠不保存數據庫中的任何記錄
- 26. 刪除數據庫中連接的多個表中的記錄
- 27. 如何刪除表中的記錄?
- 28. 我如何刪除表中的記錄?
- 29. 模擬數據庫中的記錄,而不輸入任何
- 30. 在數據庫表中標記已刪除的記錄
http://stackoverflow.com/questions/511361 /怎麼辦-I-的use-on-刪除級聯功能於MySQL的 – Incognito 2010-07-29 18:38:47