gpt4 book ai didi

mysql - 增加表中所有列的 varchar() 大小?

转载 作者:行者123 更新时间:2023-11-29 04:21:06 24 4
gpt4 key购买 nike

我们可以通过以下方式修改单个列的 varchar() 大小:

ALTER TABLE *table* MODIFY *column name* VARCHAR(1000);

有没有办法对表格的所有列发出此命令?

最佳答案

是的,您可以在一个 ALTER 语句中修改多个列:

ALTER TABLE *table* 
MODIFY *columnname1* VARCHAR(1000),
MODIFY *columnname2* VARCHAR(1000),
MODIFY *columnname3* VARCHAR(1000),
...etc...;

在一个子句中没有“修改所有 varchar 列”的语法。

但是您可以生成像上面那样的详细查询:

SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ',
GROUP_CONCAT(CONCAT('MODIFY COLUMN `', COLUMN_NAME, '` VARCHAR(1000)')), ';') AS _alter
FROM INFORMATION_SCHEMA.COLUMNS
WHERE (TABLE_SCHEMA, TABLE_NAME) = ('mydatabase', 'mytable')
AND COLUMN_TYPE LIKE 'VARCHAR%'
GROUP BY TABLE_SCHEMA, TABLE_NAME;

保存该查询的输出并将其作为 SQL 脚本执行。

关于mysql - 增加表中所有列的 varchar() 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24049012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com