php - sql - 如何在 MySql 中截断多个表?

标签 php mysql sql truncate

$tblarray = array("abc1","abc2","abc3");    

$sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE table_type ='base table' and TABLE_CATALOG='mydb' order by TABLE_NAME";
$res = mssql_query($sql);
while($rowTable = mssql_fetch_array($res))
{
   if(in_array($rowTable['TABLE_NAME'],$tblarray))
   { 
    $sqlDel = "SELECT DISTINCT concat('TRUNCATE TABLE',TABLE_NAME,';')  
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME LIKE 'abc%' AND TABLE_SCHEMA = 'mydb'";
    $res_sqlDel = @mssql_query($sqlDel);
   }
}

首先,我从数据库中获取所有表名称,然后截断特定表。但这段代码无法正常工作。

最佳答案

select Table_name from information_schema.tables  where table_schema='YOUR_DB_NAME';

将返回所有表名称

1) 迭代结果集。

2) 创建另一个 sql 查询,例如

 $query= "truncate table ".$resultSetRow['Table_name'];

在循环中执行它。基本上它会迭代结果集并一一截断所有表。

关于php - sql - 如何在 MySql 中截断多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37340617/

相关文章:

SQL Server - 如何获取用户登录映射?

SQL Server : compare datetime day with GETDATE()

mysql - Centos 7 中 mysqld.service 的作业失败

MySQL 四舍五入到最接近的 5 美分

php - DropDown Isset IF 语句移动整个记录 MySQL

php - 如何使用php和Mysqli从MySQL加载图像

MySQL ORDER BY 使用文件排序(2 个连接表)

php - 登录后如何使用sql中的session获取两张表的数据,但是我登录时使用了1张表的数据

php - 编辑配置文件 joomla 中禁用的字段名称

php - 如何直接从亚马逊 s3 下载文件?