当前位置: 首页 > 知识库问答 >
问题:

更改标识列[重复]

焦同
2023-03-14

如何更改身份栏?

例如,我有一张表:

CREATE TABLE orders
(
 id int IDENTITY(100,1)
 Name varchar(250) 
)

我需要随着时间的推移而改变

CREATE TABLE orders
    (
     id int IDENTITY(1000,1)
     Name varchar(250) 
    )

共有2个答案

孔彭祖
2023-03-14

如果希望同时更新现有列,可以这样做

注意:您的开关表必须与订单表完全相同。相同的列等,顺序相同。

CREATE TABLE orders_switch
    (

     Name varchar(250) ,
     id int IDENTITY(1000,1)
    )


    insert into orders_switch
    select [Name] from orders



truncate table dbo.orders   alter table [dbo].[orders_switch]      switch to   [dbo].[orders] 

declare @max int 
set @max = (select MAX(id) +1 from dbo.orders)
DBCC CHECKIDENT('orders' , RESEED , @max )
勾炳
2023-03-14

基本上,您希望更改标识列的种子。可以使用dbcc命令执行以下操作

DBCC CHECKIDENT('orders' , RESEED , 1000)
 类似资料:
  • 问题内容: 我收到的时候我想改变我的以下异常中的。 我知道我要更改表中的主键。我正在使用JPA注释。 我通过使用以下单个HQL查询解决了此问题: 而不是使用更多的OO方法: 知道差异是什么吗? 问题答案: 我无法想象你为什么要这么做。完全没有 您为什么要更改实体的身份?您还需要更新指向它的其他表中的所有外键。似乎很痛苦,没有收获。您最好将其设置为“业务密钥”(普通属性),并使用更永久的代理密钥。我

  • 我试着用谷歌搜索如何做到这一点,但是我所有的谷歌搜索都得到了结果,人们想要更改标识列的内容,而不仅仅是更改标识种子号。有没有一个简单的查询我可以用来完成我想要做的事情?

  • 我尝试使用scp将文件复制到远程服务器。 当我执行时,我得到了错误: 所以我从~/中删除了known_hosts文件。ssh并再次尝试该命令。但还是有这样的信息。我需要在哪里修改我的文件,然后除了。ssh文件夹?

  • 我有一个表,它有一个主键ID列,并设置为每个新条目的增量为1,这是一个相当标准的配置。此表定期更新新记录,每月归档一次到存档表,然后截断。 我的问题不是关于重新播种列(使用DBCC--我知道如何这样做),而是关于如何使用新的ID值重新对现有记录进行编号。我应该使用循环的动态SQL查询(删除记录、插入记录)来执行此操作吗?还是有一些我不知道的SQL Server函数可以自动重新编号ID列?

  • 我重新安装了服务器,收到以下消息: 我已经尝试了我在互联网上找到的各种解决方案。我的文件(通常在)在中。我试着编辑它,但它仍然保持一种状态。我已经安装了ipa-client和Fedora19。如何解决此警告? 只有在您没有安装Freeipa的情况下,到目前为止回答的所有答案才起作用。

  • 原始关闭原因未解决 当我读取CSV / Excel文件时,日期时间列具有“对象”类型。如果它是唯一的一个,很容易识别它,但是我得到了几个不包含时间的对象类型列 - 字符串。 我正在寻找一种方法来识别时间列,而不知道它的名称或位置。目前我所能做的就是这样: csv文件示例: