展开全部
建一个存储过程即可:CREATE PROCEDURE truncateAll()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE tname CHAR(50);
DECLARE cur1 CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'test';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO tname;
IF NOT done THEN
SET @str=concat('truncate table ', tname);
PREPARE stmt1 FROM @str;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
END
然后调用这个过程:CALL truncateAll();
最后确认下是e5a48de588b662616964757a686964616f31333337376264不是所有表里面的数据都给清空了