3

我正在尝试重命名w3schools 网站中的列名

ALTER TABLE customers
  RENAME COLUMN contactname to new_name;

但是,上面的代码会引发语法错误。我究竟做错了什么?

4

3 回答 3

5

您可以尝试重命名 SQL Server 中的列:-

sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN'

每当重命名 PRIMARY KEY 或 UNIQUE 约束时,sp_rename 都会自动重命名关联索引。如果重命名的索引绑定到 PRIMARY KEY 约束,则 PRIMARY KEY 约束也会由 sp_rename 自动重命名。sp_rename 可用于重命名主要和次要 XML 索引。

对于 MYSQL 试试这个:-

ALTER TABLE table_name CHANGE [COLUMN] old_col_name new_col_name
于 2013-08-15T19:15:15.407 回答
2

摘自 Robin Nixon 的“Learning PHP, MySQL & JavaScript”,第 185 页。我试过了,它奏效了。

ALTER TABLE tableName CHANGE oldColumnName newColumnName TYPE(#);

请注意,TYPE(#)例如 VARCHAR(20) 或其他一些数据类型,即使数据类型未更改,也必须包含在内。

于 2015-11-23T18:32:46.203 回答
0

@Hannah 的回答肯定对我有帮助,但是由于我花了一些时间将语法转化为现实生活,我认为它可能会帮助某人获得有关如何在 MySQL 上使用此语法的实际示例。

1.所以这里又是语法:

ALTER TABLE tableName CHANGE oldColumnName newColumnName TYPE(#);

注意:TYPE(#) 是,例如,VARCHAR(255) 或其他一些数据类型,即使数据类型没有被更改,也必须包含在内。

2.这是我的真实示例,其中“dashboard_dummy”是我的表名,“product_code”是我的旧列名,“order_id”是我的新列名:

ALTER TABLE dashboard_dummy CHANGE COLUMN product_code order_id int;

希望能帮助到你!

于 2020-01-29T23:09:32.250 回答