dongpai1942 2016-05-20 07:31
浏览 667

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

$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);
   }
}

First I get all the tables name from database then truncate specific tables. But this code not working properly.

  • 写回答

1条回答 默认 最新

  • dqyin0101 2016-05-20 07:45
    关注
    select Table_name from information_schema.tables  where table_schema='YOUR_DB_NAME';
    

    Will return all the table names

    1) Iterate over the result set.

    2) Create another sql query like

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

    Execute it in the loop. Basically it will iterate over result set and truncate all the tables one by one.

    评论

报告相同问题?

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序