做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='库名' ; -- 查询库名下面所有的表作为条件
然后把这个结果集复制,执行即可。