我有很多列的表varchar(45)
。现在我需要他们都变成varchar(128)
. 有没有办法在不手动检查所有 40 个表的情况下做到这一点?
我发现这个问题涉及到类似的主题,但是如何使用列呢?
要获得满足我需要的所有列,我可以使用:
SELECT table_name, column_name FROM information_schema.columns
WHERE table_schema LIKE "my_schema_name"
AND data_type = "varchar"
AND character_maximum_length < 50;
现在我需要使用任何可以连接到 MySQL 的编程语言,并在循环中执行:
ALTER TABLE table_name MODIFY column_name VARCHAR(128);