【问题标题】:How to replace Column char(10) to int auto_increment in SQL 2008 table?如何在 SQL 2008 表中将 Column char(10) 替换为 int auto_increment?
【发布时间】:2017-12-10 13:19:59
【问题描述】:

我正在处理我的一张表过去使用 Fox Pro 的项目。他们使用服务器端编程语言 (ColdFusion) 为表中的每条记录创建唯一 ID。使用 SQL 自动增量字段,我不需要这种技术,我想将我的键列设置为 INT 自动增量。我想知道修改表中键列的最佳方法是什么?这是我的表格设计示例:

Column Name  Data Type  Allow Nulls
im_key       char(10)   No

我不能简单地将类型更改为 INT 并设置自动增量,因为我当前的类型是 char。如果有人可以提供帮助,请告诉我。谢谢。

【问题讨论】:

    标签: sql sql-server-2008 auto-increment


    【解决方案1】:

    您可以添加一个新列im_key_ident,设置为identity。重命名旧列:sp_rename 'table_name.im_key', 'im_key_old', 'COLUMN';。最后,您可以重命名新列:sp_rename 'table_name.im_key_ident', 'im_key', 'COLUMN';。您可以选择保留或删除旧列。

    如果im_key列当前作为主键、外键,在函数、过程或者其他任何方式中,都会变得很麻烦,很快……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2017-03-21
      • 1970-01-01
      • 2017-11-21
      • 2021-08-15
      相关资源
      最近更新 更多