是否存在遍历数据库中每个表的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. 如何从数据库记录中删除¶(pilcrow)标记
- 6. 无法删除Solr中的记录(如果在PHP中有任何空格)
- 7. SQL删除命令不实际删除表中的任何记录?
- 8. 根据另一个数据库中的表记录删除Hive中的记录
- 9. 如何删除mysql数据库中的记录?
- 10. 如何删除phpmyadmin中的数据库记录?
- 11. 如何使用C删除数据库中的记录#
- 12. 从数据库中删除记录
- 13. 删除数据库中连接的多个表中的记录
- 14. 如何删除表中的记录?
- 15. 我如何删除表中的记录?
- 16. 在数据库表中标记已删除的记录
- 17. 休眠不保存数据库中的任何记录
- 18. 模拟数据库中的记录,而不输入任何
- 19. 如何通过LSXODBC从数据库中删除记录
- 20. 如何使用linq从数据库中删除记录?
- 21. 如何从数据库中删除记录使用实体WebApi
- 22. Kurento录音不记录任何数据
- 23. 发布时删除Jtable中的任何记录
- 24. 如何删除任何格中的iframe
- 25. 在尝试删除MySQL中的任何记录之前,如何检查记录列表的外键引用?
- 26. 我如何从数据透视表中删除/添加记录?
- 27. 从Access数据库中删除记录,删除时出错
- 28. 无法从表中删除任何行
- 29. 从数据库的所有表中删除所有记录
- 30. 批量删除数据库表中的记录
http://stackoverflow.com/questions/511361 /怎么办-I-的use-on-删除级联功能于MySQL的 – Incognito 2010-07-29 18:38:47