新云数据库里的自动增加的id如何修改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新云数据库里的自动增加的id如何修改?相关的知识,希望对你有一定的参考价值。

用新云做了个站,mssql 2005的
flash表里的id是自动增加的,不能修改

我想修改一下ID号,

请问应该如何修改

修改了之后的使用还需要是ID自动增加的

如果没办法的话,请教

先把该列自增长的约束取消,保存修改,然后通过编写update脚本进行更改。更改完后再将该列设为自增长,起始值为数据里最大的值+1,保存 参考技术A 停用所有约束,对其自动增加列进行修改,完成后恢复所有约束

SQL-如何在不自动增加 ID 列的情况下插入行?

【中文标题】SQL-如何在不自动增加 ID 列的情况下插入行?【英文标题】:SQL-How to Insert Row Without Auto incrementing a ID Column? 【发布时间】:2010-11-06 04:24:55 【问题描述】:

我有一个包含强制自动递增列的表,该列是一个非常有价值的 ID,在整个应用程序中都会保留。很抱歉,将它作为自动递增列对我来说是一个糟糕的发展。

所以,这就是问题所在。我必须在这个表中插入一个已经创建并从表中删除的列的 ID。有点像复活这个 ID 并将其放回表中。

那么如何在不关闭列增量的情况下以编程方式执行此操作。如果我错了,请纠正我,如果我以编程方式将其关闭,它将在 0 或 1 处重新启动,我不希望这种情况发生......

【问题讨论】:

这个问题的MS-SQL服务器... 【参考方案1】:

如果您在 Microsoft SQL Server 中,您可以通过发出语句 Set Identity_Insert [TableName] On 来“关闭”自动增量功能,如下所示:

  Set Identity_Insert [TableName] On
  -- --------------------------------------------
  Insert TableName (pkCol, [OtherColumns])
  Values(pkValue, [OtherValues])
  -- ---- Don't forget to turn it back off ------
  Set Identity_Insert [TableName] Off

【讨论】:

它是否保留递增标识的最后一个数字?我不希望它自行重置整个身份列... 和@Scott,是的,它“保留”旧值...即,此过程不会影响用于下一个自动增量身份的“当前”值... 我知道这是一个旧线程,但在 SSMS 2012 中,它没有保留旧值。我按照上面的例子,插入了一个 999999 的 id,将 identity_insert 设置为“OFF”,插入了一条新记录,它给了我 1000000,而不是下一个应该是 72597 的数字。我正在进一步调查。 只有当插入的值小于旧值时,它才会“保留”旧值......我(错误地)假设这样做的目的是插入一个旧的值,以前已使用但已删除,需要重新插入值。 请注意,您只需在查询的 SELECT 子句中显式列。【参考方案2】:

除了 Charles 的回答(现在 100% 正确 :-) 并且保留了表上 IDENTITY 的当前值)之外,您可能还想检查表上 IDENTITY 的当前值 - 您可以在此处使用此命令执行此操作:

DBCC CHECKIDENT('YourTableName')

如果您需要真正更改它,您可以在此处使用以下命令:

DBCC CHECKIDENT ('YourTableName', RESEED, (new value for IDENTITY) )

【讨论】:

【参考方案3】:

实际上,上面的 INDENTITY_INSERT 代码是正确的 - 将其打开会告诉服务器您要自己插入值。它允许您将值插入 IDENTITY 列。然后,您希望在完成后将其关闭(允许服务器生成并插入值)。

【讨论】:

【参考方案4】:
bulk insert tablename from 'C:\test.csv' with (rowterminator = '\n',fieldterminator = ',',KEEPIDENTITY)

【讨论】:

请解释为什么这个答案可以解决问题。阅读How do I write a good answer?

以上是关于新云数据库里的自动增加的id如何修改?的主要内容,如果未能解决你的问题,请参考以下文章

冬天里的一把火,园子里的一朵云:满园尽是火山引擎

云原生2.0的逻辑之辩,如何让每个企业都成为新云原生企业

php云和新云人才系统哪个好

面向视频原生,火山引擎发布视频云与边缘云软硬一体的新云解决方案

MySql中的id自动增加,插入数据修改ID内容,再插入数据时从中间开始?

云原生2.0, 让每个企业成为“新云原生企业”