mysql中修改不同表的同一字段
最近在做分库分表时发现之前建的表中某个字段的长度需要修改,这里分享一下在此背景如何快速修改不同表的同一个字段(类似修改可参照处理)
1.将需要执行的sql导出:
SELECT
CONCAT(
'ALTER TABLE ',
table_name,
' MODIFY TYPE VARCHAR(100);'
) AS '要执行的sql'
FROM
information_schema.tables
WHERE table_schema = '数据库名' ;
此处是将数据库里所有表中type字段的类型改为varchar,长度100,执行上面的sql后得到如下结果:
然后如图示导出sql:
导出后sql为:
要执行的sql
ALTER TABLE log_0 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_1 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_2 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_3 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_4 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_5 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_6 MODIFY TYPE VARCHAR(100);
ALTER TABLE log_7 MODIFY TYPE VARCHAR(100);
2.执行导出的sql
至此,数据库所有表的type字段已改为varchar(100).