mysql批量给库里的表添加新字段

做saas系统,给库里的每个表都需要加入一个新的租户id。

获取一个可以执行的结果集,生成ALTER语句,然后执行这个结果集的语句进行添加。

首先应该先把结果集的长度修改一下,因为如果表很多的话,会装不下,修改语句为:

set session group_concat_max_len = 10240;

接下来就是:

select
group_concat('alter table ', table_schema, '.', table_name, ' add column tenant_id varchar(32);' separator"")  -- 需要添加的字段通过拼接得到可执行的sql语句
from information_schema.tables where table_schema='库名' ; -- 查询库名下面所有的表作为条件

然后把这个结果集复制,执行即可。

你可能感兴趣的:(mysql)