Compartilhamento de tecnologia

Modifique o comprimento do campo de todas as tabelas em um banco de dados que contenha o mesmo campo no MySQL

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

fundo

Devido aos cenários de negócios, um determinado campo como phone_name envolve muitas tabelas. Atualmente, muitas tabelas possuem campos redundantes. No entanto, o comprimento do campo fornecido no estágio inicial é apenas varchar(100), o que não atende às necessidades atuais. precisa ser O comprimento do campo foi aumentado para varchar (255). Se você modificá-lo manualmente, haverá centenas de tabelas, o que consome muito tempo.

plano

Modifique as instruções DDL que tornam este campo obrigatório nessas tabelas

  1. SELECT
  2. concat("ALTER TABLE `",table_name,"` MODIFY COLUMN `phone_name` varchar(255) NOT NULL COMMENT '手机名称';")
  3. FROM information_schema.columns
  4. WHERE
  5. table_schema = 'db_lingyejun' and column_name='phone_name' and character_maximum_length < 255 and is_nullable = 'NO';

Modifique as instruções DDL que tornam este campo anulável nessas tabelas

  1. SELECT
  2. concat("ALTER TABLE `",table_name,"` MODIFY COLUMN `phone_name` varchar(255) DEFULT NULL COMMENT '手机名称';")
  3. FROM information_schema.columns
  4. WHERE
  5. table_schema = 'db_lingyejun' and column_name='phone_name' and character_maximum_length < 255 and is_nullable = 'YES';

Se este artigo ajudar você, por favor, dê um like em "Ling Yejun", obrigado pelo seu apoio.

Primeiro link:https://www.cnblogs.com/lingyejun/p/18293068