0

我有很多列的表varchar(45)。现在我需要他们都变成varchar(128). 有没有办法在不手动检查所有 40 个表的情况下做到这一点?

我发现这个问题涉及到类似的主题,但是如何使用列呢?

4

1 回答 1

3

要获得满足我需要的所有列,我可以使用:

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);
于 2013-09-12T13:52:59.573 回答