一尘不染

如何更改多于1列的表列数据类型?

mysql

例如:

ALTER TABLE webstore.Store MODIFY COLUMN (
  ShortName VARCHAR(100),
  UrlShort VARCHAR(100)
);

但是上述方法不起作用。我正在使用MySql 5.x


阅读 196

收藏
2020-05-17

共1个答案

一尘不染

ALTER TABLE可以在一个语句中进行多个表更改,但MODIFY COLUMN一次只能处理一列,因此您需要为MODIFY COLUMN要更改的每一列指定:

ALTER TABLE webstore.Store
  MODIFY COLUMN ShortName VARCHAR(100),
  MODIFY COLUMN UrlShort VARCHAR(100);

另外,请注意手册中的以下警告:

当您使用CHANGE或MODIFY时,column_definition必须包括数据类型和应应用于新列的所有属性,而索引属性(例如PRIMARY
KEY或UNIQUE)除外。原始定义中存在但未为新定义指定的属性不会继续。

2020-05-17