当我在终端
中使用此代码时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();
语句时,具有上述表名的表格不会被删除,对此有什么解决方案吗?
答案 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%';
复制所有这些内容,一次删除一个表格。
如果要在应用程序中执行此操作,请在循环中从结果集中一次读取一行并执行该语句。