Compartir tecnología

Modificar la longitud del campo de todas las tablas de una base de datos que contengan el mismo campo en MySQL

2024-07-12

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

fondo

Debido a escenarios comerciales, un determinado campo como phone_name involucra muchas tablas. Actualmente, muchas tablas tienen campos redundantes. Sin embargo, la longitud del campo proporcionada en la etapa inicial es solo varchar (100), lo que no satisface las necesidades actuales. debe ser La longitud del campo se ha aumentado a varchar (255). Si lo modifica una por una manualmente, habrá cientos de tablas, lo que lleva mucho tiempo. Así que pensé en el siguiente método para hacer una nota.

plan

Modifique las declaraciones DDL que hacen que este campo sea obligatorio en estas tablas

  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 las declaraciones DDL que hacen que este campo sea anulable en estas tablas

  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';

Si este artículo te ayuda, dale me gusta a "Ling Yejun", gracias por tu apoyo.

Primer enlace:https://www.cnblogs.com/lingyejun/p/18293068