【问题标题】:How to copy only one row and paste it into that table如何仅复制一行并将其粘贴到该表中
【发布时间】:2020-01-09 17:22:54
【问题描述】:

我有一个表table_A,它有十行,id_Row的表从1到10。我设置id_Row是“身份增量 = true" - 强制。但是现在,我想复制第 7 行 => table_A 将有 11 行(并粘贴到这个 table_A 中)。我写道:

INSERT INTO table_A SELECT * FROM  table_A WHERE id_Row = '7'

但是我得到了一个错误:

An explicit value for the identity column in table 'table_A' can only be specified when a column list is used and IDENTITY_INSERT is ON.

有人可以告诉我如何解决吗?

【问题讨论】:

  • 此列是主键吗?
  • 你有明确的地图列...
  • 就像@Sheradil 说的,看看那个链接,如果你在谷歌搜索你的错误,你会得到第一个结果¯\_(ツ)_/¯
  • 您可以使用SEQUENCE 对象来生成连续的数字。当您需要插入任意数字时,不要按SEQUENCE生成数字。

标签: c# winforms sql-insert


【解决方案1】:

你有两个选择:

1: 在插入之前使用这个脚本(如果id_Row = '7' 不存在于 table_A):

SET IDENTITY_INSERT table_A  On

INSERT INTO table_A
SELECT * FROM  table_A WHERE id_Row = '7'

SET IDENTITY_INSERT table_A  Off

2:如果id_Row = '7' 存在于table_A 中,则显式使用列列表

 INSERT INTO table_A 
 SELECT x,y,z,... FROM  table_A WHERE id_Row = '7'

【讨论】:

  • id_Row = '7' 存在于table_A 中,它有很多列,所以我不想手动输入所有列。那么,我该怎么办?
猜你喜欢
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
相关资源
最近更新 更多