Ang*_*dar 11 mysql sql multiple-tables sql-delete
我想轻松删除多个表而不在drop查询中实际列出表名,要删除的表有前缀'wp_'
Joh*_*n P 15
我使用了一个非常类似于Angelin的查询.如果您有多个表,则必须增加最大长度group_concat
.否则,查询将在group_concat
返回的截断字符串上进行barf .
这是我10美分:
-- Increase memory to avoid truncating string, adjust according to your needs
SET group_concat_max_len = 1024 * 1024 * 10;
-- Generate drop command and assign to variable
SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(table_schema,'.',table_name)),';') INTO @dropcmd FROM information_schema.tables WHERE table_schema='databasename' AND table_name LIKE 'my_table%';
-- Drop tables
PREPARE str FROM @dropcmd; EXECUTE str; DEALLOCATE PREPARE str;
Run Code Online (Sandbox Code Playgroud)
只需分享其中一个解决方案:
mysql> SELECT CONCAT("DROP TABLE",
GROUP_CONCAT(TABLE_NAME))AS stmt来自information_schema.TABLES
WHERE TABLE_SCHEMA ="your_db_name"AND TABLE_NAME将"ur condition"改为outfile'/tmp/a.txt';
mysql> source /tmp/a.txt;
归档时间: |
|
查看次数: |
24273 次 |
最近记录: |