删除php / mysql中的模式表

时间:2015-04-03 12:03:12

标签: php mysql

当我在终端

中使用此代码时
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' ) 
    AS statement FROM information_schema.tables 
    WHERE table_schema = 'test' AND table_name LIKE '%CS%';

我得到的结果为DROP TABLE 10CSA,10CSB;

但是当我在php页面中使用相同的内部mysql_query();语句时,具有上述表名的表格不会被删除,对此有什么解决方案吗?

1 个答案:

答案 0 :(得分:1)

正如Juergen所指出的那样,delete一次只适用于一张桌子。相反,生成多个语句:

SELECT CONCAT( 'DROP TABLE ', table_name , ';' ) AS statement
FROM information_schema.tables
WHERE table_schema = 'test' AND table_name LIKE '%CS%';

复制所有这些内容,一次删除一个表格。

如果要在应用程序中执行此操作,请在循环中从结果集中一次读取一行并执行该语句。