【问题标题】:How do I rename column in w3schools sql?如何重命名 w3schools sql 中的列?
【发布时间】:2013-08-15 19:13:48
【问题描述】:

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

ALTER TABLE customers
  RENAME COLUMN contactname to new_name;

但是,上面的代码会抛出语法错误。我做错了什么?

【问题讨论】:

  • 您使用的是哪个数据库?
  • 我只是想向我的朋友展示alter rename 的工作原理
  • 可能因数据库而异。
  • 没有“w3schools sql”之类的东西。
  • 查看SQL Fiddle,它可以让您从几种不同的数据库风格中进行选择。

标签: sql alter


【解决方案1】:

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

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

sp_rename 自动重命名关联的索引,只要 PRIMARY KEY 或 UNIQUE 约束被重命名。如果重命名的索引是 绑定到 PRIMARY KEY 约束,PRIMARY KEY 约束也是 由 sp_rename 自动重命名。 sp_rename 可用于重命名 主要和次要 XML 索引。

对于 MYSQL,试试这个:-

ALTER TABLE table_name CHANGE [COLUMN] old_col_name new_col_name

【讨论】:

    【解决方案2】:

    来自 Robin Nixon 的“学习 PHP、MySQL 和 JavaScript”,第 185 页。我试过了,它奏效了。

    ALTER TABLE tableName CHANGE oldColumnName newColumnName TYPE(#);

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

    【讨论】:

    • 阅读手册似乎真的是一种不再流行的技能
    【解决方案3】:

    @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;
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多