背景
由於業務場景導致某個欄位如phone_name涉及到表比較多,目前很多表都有冗餘這個欄位,但是前期給的欄位長度只有varchar(100),不滿足目前的需要了,需要把所有的表的欄位長度都增大到varchar(255),如果手動一個個修改的話,那麼有幾百張表,很花時間,所有想到如下辦法,以做備忘。
方案
修改這些表中此欄位為必填的DDL語句
SELECT concat("ALTER TABLE `",table_name,"` MODIFY COLUMN `phone_name` varchar(255) NOT NULL COMMENT '手機名稱';") FROM information_schema.columns WHERE table_schema = 'db_lingyejun' and column_name='phone_name' and character_maximum_length < 255 and is_nullable = 'NO';
修改這些表中此欄位可為空的DDL語句
SELECT concat("ALTER TABLE `",table_name,"` MODIFY COLUMN `phone_name` varchar(255) DEFULT NULL COMMENT '手機名稱';") FROM information_schema.columns WHERE table_schema = 'db_lingyejun' and column_name='phone_name' and character_maximum_length < 255 and is_nullable = 'YES';
本篇文章如有幫助到您,請給「翎野君」點個贊,感謝您的支援。
首發連結:https://www.cnblogs.com/lingyejun/p/18293068