一尘不染

截断MySQL数据库中与名称模式匹配的所有表

mysql

我需要清除所有库存表。

我已经试过了:

SELECT 'TRUNCATE TABLE ' + TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'inventory%'

但是我得到这个错误:

Truncated incorrect DOUBLE value: 'TRUNCATE TABLE ' Error Code 1292

如果这是正确的方法,那我做错了什么?


阅读 437

收藏
2020-05-17

共1个答案

一尘不染

使用concat:

SELECT concat('TRUNCATE TABLE `', TABLE_NAME, '`;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'inventory%'

当然,这只会生成您需要复制和运行自己的SQL。

2020-05-17