【问题标题】:how to get update records which is newly inserted only in sql?如何获取仅在sql中新插入的更新记录?
【发布时间】:2016-01-29 05:49:40
【问题描述】:

我想将数据从旧 sql db 移动到具有相同表的新 sql db。但是新表有 100 条(假设)记录,而旧数据库有 1000 条记录。我在新数据库中插入了所有记录,但我得到了不同的 id,因为这个 id 在新数据库中具有身份。

现在我关心的是如何更新外键列的新标识值。 外键列在新数据库中有重复。我必须只为新插入的记录更新外键列。

【问题讨论】:

  • 例如 id,childpartid, parentpartid(1,1,1 2, 2,1 3,3,2 4, 4,1) 像这样在旧数据库和新数据库中 id,partid, parentpartid(1,2,1 2.2,2 3,3,2 5,1) 已在新数据库中可用。我必须以新身份在新数据库中插入旧数据库值,并且必须在新数据库中更新这些部分。

标签: sql sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2


【解决方案1】:

使用IDENTITY INSERT

使用此命令,您可以将值插入标识字段,而不是让 SQL Server 自动填充该字段。

【讨论】:

  • 它与身份插入无关……由于身份属性,从旧数据库到新数据库的插入值将获得新的 id .....所以我必须用最新的更新外键列身份证……?有什么办法吗?
  • 要求是丢弃旧的ID?如果您复制旧的 id,则不需要级联更新所有相关列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 2020-11-21
  • 1970-01-01
  • 2022-06-10
  • 2015-08-14
  • 1970-01-01
相关资源
最近更新 更多