我在尝试重命名列和修改数据类型时遇到问题

问题描述 投票:0回答:1

我在尝试重命名列和修改数据类型时遇到问题。我可以单独完成,但每当我尝试将其放在一起时,它都找不到“年份”或“发布年份”。我将一个子句放在第一位或第二位并不重要。

这是一个练习测试题,不会向我展示创建表。他们只是告诉我更改他们创建的表中的一些列,而我无法正确执行的是:

方向: 将 Year 列的名称更改为 ReleaseYear,并将数据类型更改为 SMALLINT

像 DROP 和 ADD 这样的其他操作都工作正常,但当我尝试重命名列并更改数据类型时,我收到错误。就像自从我更改名称以来,它再也找不到该列来修改数据类型。

ALTER TABLE Movie
ADD Producer VARCHAR(50),
DROP COLUMN Genre,
MODIFY COLUMN Year SMALLINT,
RENAME COLUMN Year to ReleaseYear;

第 2 行出现错误 1054 (42S22):“电影”中的未知列“年份”

通话前的桌子:

字段类型

ID int 无符号

标题 varchar(30)

评级代码 varchar(5)

年份

生产者 varchar(50)

sql mysql relational-database
1个回答
1
投票

使用

CHANGE COLUMN
子句一步即可更改名称和类型:

ALTER TABLE Movie
ADD Producer VARCHAR(50),
DROP COLUMN Genre,
CHANGE COLUMN Year ReleaseYear SMALLINT;
© www.soinside.com 2019 - 2024. All rights reserved.