问题标签 [identity-insert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 当 IDENTITY_INSERT 设置为 OFF 时,EF 无法为表“X”中的标识列插入显式值
我必须将数据从一个数据库迁移到另一个数据库。应保留密钥。我将 EF 与自动生成的.dbmx
文件一起使用。我已经阅读了许多类似问题的答案并遵循了这些建议:我确实IDENTITY_INSERT
在插入条目之前完全打开;在数据库图上,我将列更改StoreGeneratedPattern
为None
on Id
(也尝试将相应的属性添加到Id
属性中)。
这是我的代码:
在 Management Studio 中执行此操作时,它工作得很好。该问题仅在使用实体框架时出现。
我可以在 SQL Server Profiler 中看到INSERT_IDENTITY
执行命令并且插入 SQL 带有Id
列,但似乎没有执行,这看起来很奇怪。当我复制粘贴此 SQL 查询时,它工作得很好。
sql - Can you make inserting by Id optional?
I want to be able to insert something into my table at a specific ID, so I turned IDENTITY_INSERT on for the table. However, if I just want the auto increment to handle the ID, this error appears:
"Explicit value must be specified for identity column in table 'TsiList' either when IDENTITY_INSERT is set to ON or when a replication user is inserting into a NOT FOR REPLICATION identity column."
Is there a way to make the queries
and
work at the same time?
sql-server - 如何提交 T-SQL 脚本
我是 SQL Server 的新手,正在为我的数据库尝试一些 SQL 语句。
我想使用以下语句启用身份插入:
这很好用。之后我插入了一个条目,但如果我关闭脚本,更改就会丢失。
我也试过
为所有表启用身份插入,但这也不起作用。
我的期望是我运行该脚本一次,它会一直更改数据库,但如果我尝试插入一些带有标识列的条目,它不会插入该条目。
sql-server - 在插入期间捕获 IDENTITY 列值并用作同一事务中另一列的值
在对具有IDENTITY
列的表执行插入时,是否可以IDENTITY
在同一事务中将该值用作另一列的值?
例如:
预期的:
我以为我可以使用SCOPE_IDENTITY
or@@IDENTITY
系统函数来实现这一点,但不幸的是,这不起作用,因为在执行事务时它为 NULL。
无法将值 NULL 插入列“SecondaryId”、表“@TestTable”;列不允许空值。插入失败。
我知道我可以在这个例子中使用计算列,但我很好奇我正在尝试做的事情是否可能。
sql - 为什么必须在 IDENTITY_INSERT ON 时指定列?
以下脚本无法执行
这会引发以下警告:
只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表 'dbo.MyTable' 中的标识列指定显式值。
当列是明确的时,脚本会按预期执行。
为什么必须使用列列表?
c# - 如何使用 c# 代码插入标识列
是的,我知道,有很多关于如何打开身份插入并在之后将其关闭的材料,这实际上是我想要使用的东西。但是我的问题还有更多,这就是我开始这个问题的原因。
将某些内容插入标识列的常规方法是:
我对此有2个问题:
我需要使用这个“dbo”吗?我目前正在使用 VS 的 localdb,但是一旦完成,该项目将部署在真实服务器上
主要问题:我想插入一个完整的对象,而不仅仅是标识列的值。该对象具有给定的 ID,在 db 中是 PK。它有一个字符串值,也必须插入。
我怎样才能做到这一点?我正在寻找类似的东西:
这是我的模型,所以你可以更好地理解这个问题:
sql - Identity_insert 设置为 OFF 错误,即使它设置为 ON
我收到一个错误
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“Table1”中插入标识列的显式值
我已经使用查询设置IDENTITY_INSERT
为,但我仍然收到此错误。就我而言,我试图将一个表的数据复制到另一个表中,因此将. 我已将. 我不知道为什么我会收到这个错误。ON
SET IDENTITY_INSERT [Database1].[dbo].[Table1] ON
ID
identity_insert
ON
sql-server - 使用单个语句切换插入标识
对于在场上真正懒惰的人:是否有一个语句可以IDENTITY INSERT sometable
从开启切换到关闭,反之亦然?
identity-insert - SET IDENTITY_INSERT ON/OFF 范围内的 SQL Server 2019 行为变化
我们正在迁移到 SQL Server 2019 RTM 版本,并注意到我们使用SET IDENTITY_INSERT
ON/OFF 语句的存储过程之一失败,该过程在 SQL Server 2017 及更早版本中正常工作。
即使将兼容性级别更改为 SQL Server 2017 在 SQL Server 2019 中的工作方式也不相同。这看起来像是一个没有在任何地方记录的错误/行为更改。
任何人都遇到过类似的问题或知道这是否是已报告的问题?我尝试搜索它,但另一个报告该问题的人是 ODBC 和 SQL Server 2019 CTP 版本的组合。
我们有很多客户在 SQL Server 2017 和更早版本上运行我们产品的早期版本,我们无法更改但仍希望迁移到 SQL Server 2019 的存储过程,现在这已成为我们 SQL Server 2019 迁移的阻碍.
这是在 SQL Server 2019 中失败但在 SQL Server 2017 及之前版本中运行良好的代码片段
如何重现行为。
在 SQL Server 2019 中,我们收到此错误:
消息 544,级别 16,状态 1,过程 proc_inner,第 5 行 [批处理开始第 36 行]
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“#TMP_MESSAGE”中插入标识列的显式值。(0 行受影响)
在 SQL Server 2017 及更早版本中,相同的语句可以正常工作。
sql-server - 从 txt 批量插入。具有主键和时间戳值的文件
我有一个名为的表Address
,它有一个AddressID
作为主键(自动递增值),它还有一个tmsp
类型为 的列TimeStamp
。
我创建了一个从表中删除记录的存储过程,但在删除之前,我将记录保存到.txt
文件中。在将记录保存到文本文件的过程中,我将时间戳转换为一个Varbinary
值。这意味着该tmsp
列保存为Varbinary
文本文件。
现在我创建一个新的存储过程将删除的记录插入数据库中,代码如下:
我收到以下错误:
消息 273,级别 16,状态 1,过程 CleanUp_Address,第 43 行 [批处理开始第 2 行]
无法将显式值插入时间戳列。将 INSERT 与列列表一起使用以排除时间戳列,或将 DEFAULT 插入时间戳列。
当我删除IDENTITY_INSERT
它时,它会将数据作为新值插入表中,因此会AddressID
被覆盖,但这不是我想要的。我需要保留AddressID
.
有任何想法吗?