当前位置: 首页 > 面试题库 >

重新编号主键

公羊伟志
2023-03-14
问题内容

如何重置sql表上的主键计数器并用新的主键更新每一行?


问题答案:

我将首先在表中添加另一列,并使用新的PK填充该列。

然后,我将使用update语句来更新所有相关表中的新fk字段。

然后,您可以删除旧的PK和旧的fk字段。

编辑: 是的,正如伊恩所说,您将必须删除然后重新创建所有外键约束。



 类似资料:
  • 问题内容: 我有一个简单的MySQL表,并且主索引(id)并未一一编号(1、31、35、100等)。我希望它们被编号为(1、2、3、4)。请告诉我该怎么做。我还要指出,我知道该操作可能造成的后果,但我只是想整理一下桌子。 问题答案: 我同意其他方法也可以,但是我只是给出了一个不同的想法。这将不需要任何临时表创建要求:

  • 大家好。我用ApachePOI3.7创建了一个spreadshhet。电子表格的前两行显示标题信息。然后从第3行开始,返回的数据填充到电子表格中。我的问题是,有一种方法可以从第3行开始对行进行编号。例如,我希望spreadshhet的第三行声明“1”而不是“3”。 1处理日期:2013年7月30日13:39

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

  • 问题内容: 您好,我有很多插入行的表。我需要按编号对所有行进行重新编号并对其进行排序。 我找到了此代码,但对我不起作用。 因此,使用上述代码,我希望对所有具有名称的记录重新编号- 白色,并从100开始以增量1插入它们。但这对我不起作用。也许我的代码有问题,但是SQL和SQLite查询之间有区别。 这是我创建表格的方式: 我希望已经有了解决方案,因为我不想手动进行:) 问题答案: 该代码不是标准的S

  • 我该如何进行重新编号?我在想一种INSERT...SELECT查询,但我不知道它应该如何工作。

  • 我有一个SQL Server表,它有一个标识列(