问题标签 [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.
.net - 如何使用 IDENTITY_INSERT 设置为 ON 的 Linq 插入具有特定身份的记录
我正在尝试使用 linq 在两个数据库之间同步表。我希望两个表中的主键(身份)相同。我无法使用 linq 完成此操作。
在搜索谷歌之后,我能得到的最接近的是:
但这会引发异常:
当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时,必须为表“Shoes”中的标识列指定显式值。
我知道我可以通过使用 ExecuteCommand 插入带有现有身份的新记录来解决这个问题,但我想知道是否可以仅使用 linq。
sql - 如何在 SQL 中将数据插入一行?
我正在学习一个教程并从一本书中学习 MVC,我被告知使用这个脚本创建一个表,我做到了。但是现在我想在我的 Pet 表中添加一整行,但我做不到。
用于创建我所有表的脚本。
我想在我的 Pet 表的第一行中添加一些随机值(用于测试)。这是 Pet 表的第一行作为图像,以进一步清晰。
我尝试使用此脚本将值添加到我的表中。
但我得到一个错误说
只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“Pet”中的标识列指定显式值。
现在我对 SQL 相当陌生,我无法弄清楚这一点。我查看了人们所说的其他 SO 答案SET IDENTITY_INSERT
,但这对我也不起作用。我相信我误解了其他 SO 答案,因为我对数据库语言相当陌生。所以需要你的帮助。
谢谢
c# - EF将子项插入特定的父项
我一直在到处寻找,发现了很多问题,但他们都没有回答我的问题。
我想做的事情很简单,假设我们有这样的事情:
EF 负责创建数据库并通过脚手架获得控制器和视图。一切正常,我可以创建父级。我还可以使用从下拉列表中选择的 ParentID 创建 Child。
我真正想做的是删除下拉菜单并将 ParentID 作为参数传递,如下所示:
鉴于我们得到了这个:
提交时,我得到“当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Children' 中插入标识列的显式值。” 现在我到处查看并尝试了各种属性,但我仍然无法让它工作。
我将不胜感激任何形式的帮助。
更新
从控制器创建方法:
只是为了展示更多关于问题的信息。在这里,我在视图中使用带有选择控件的默认脚手架版本。
c# - SQL Server 为非键属性提供“重复键”错误?
我有一个products
5 列的数据库表。Id
是主键。在 SQL Server Management Studio 中,您可以在这里清楚地看到:
我有一个product
with Id
= 69 and Name
= "Lawn Darts" 。我正在尝试使用Id
= 420 和Name
=“草坪飞镖”插入新产品。我正在尝试使用身份插入,以便我可以为插入的产品指定 ID。所以名称相同,但ID不同。这应该没问题吧?
我正在使用 LINQ --> SQL 插入 C# 控制台应用程序。当我尝试插入具有相同Name
但不同Id
的内容时,我收到以下错误消息:
无法在具有唯一索引“IX_Name”的对象“dbo.Products”中插入重复的键行。重复键值为 (Lawn Darts)。
为什么,如果它是非键?
vb.net - 在 VB 表单中使用 LINQ,出现错误:当 IDENTITY_INSERT 设置为 OFF 时,无法在表 x 中插入标识列的显式值
我只是在 LINQ 的世界中摸索,我已经设法让我的 VB 应用程序从我的 Azure DB 中选择,现在我正在尝试插入一个新用户。
我收到错误描述“当 IDENTITY_INSERT 设置为 OFF 时,无法在表 x 中插入标识列的显式值”。
我知道关于这个主题有类似的问题,但似乎他们中的大多数都遇到了问题,因为他们正试图插入一个明确的值,并且需要将标志更改为 ON。我试图在让数据库分配 ID 值的同时进行插入,所以我认为 IDENTITY_INSERT 标志应该关闭,我需要更改我的 VB 或 LINQ 语句以告诉它不要尝试为我的 ID 分配值柱子。
这是我在运行插入的 VB 表单按钮中的代码:
usr 语句包含表中的所有字段,除了 ID 列。我并没有真正看到我的代码试图在哪里插入 ID 列的值,但它可能在幕后某处执行此操作,我需要明确告诉它不要这样做。
用户表的 SQL 如下:
任何帮助将不胜感激。
c# - 错误:无法将值 NULL 插入“ID”列
我创建了一个注册页面,我有一个带有 ID 主键的表,但我收到此错误: 在此处输入图像描述
无法将值NULL插入'Id'列,表'D:\课程学习\动态网站设计\课程设计1\APP_DATA\REGISTRATION.MDF.dbo.Table';列不允许空值。插入失败。该语句已终止。
我刚开始学习 C#,真的不知道如何解决这个问题。
这是我的代码。
c# - 为什么这个带有 IDENTITY_INSERT 的 EF 插入不起作用?
这是查询:
执行时,Id
新表上插入的记录的 仍然为 1。
新:当我使用交易或 TGlatzer 的答案时,我得到了异常:
当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时,必须为表“项目”中的标识列指定显式值。
sql-server - 在 Microsoft SQL 中支持 RESTful UPSERTS
我正在开发一个小型 Web 应用程序并使用 Microsoft SQL 进行数据存储。我正在使用利用 JDBC 的服务层与数据库交互。
目前,当我尝试将 ID 不存在的“客户”放入数据库中时,我不断收到错误消息:
为了支持正确的 RESTful API,如果此 ID 不存在,我希望能够插入它或更新已经存在的客户。我查找了无数与我的有点相关的问题,其中很多人谨慎地建议打开 IDENTITY_INSERT,但说这是一种不好的做法。我很好奇我可以在数据库或代码中做什么来健康地支持 RESTful PUT - 如果有办法在维护 IDENTITY 列的同时做到这一点,那么我可以在不了解 CustomerID 列的情况下进行 POST 操作。
sql-server - fatfreeframework 与 SQL Server 数据库使用映射器 copyfrom 方法和部分插入
我正在尝试使用 fatfreeframework v3.5 的 copyFrom('POST') 和 save() 方法插入记录。来自 POST 的数据不包含此表设置为自动增量的 id 字段。日志中的 SQL 是
如您所见,尽管插入中没有包含 id 列,但 fatfree 仍在添加集合标识插入。有没有办法告诉映射器不要设置这个标志?还是有其他解决方法?我可以获取当前的最大 ID,然后插入 +1,但这似乎很笨拙。
我应该添加此 SQL 失败,因为 id 列未包含在列列表中。
这是在 mapper.php 函数插入中设置 IDENTITY_INSERT 的代码。
在 db 对象上调用模式会返回这个数组 {"id":{"type":"int","pdo_type":1,"default":null,"nullable":false,"pkey":true}, "changed_date":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false},"status":{"type":"varchar" ,"pdo_type":2,"default":null,"nullable":false,"pkey":false},"supply_id":{"type":"varchar","pdo_type":2,"default":null ,"可为空":false,"pkey":true},"描述":{"type":"varchar","pdo_type":2,"default":null,"nullable":true,"pkey":false },“单元”:{"type":"varchar","pdo_type":2,"default":null,"nullable":false,"pkey":false},"hcpcs":{"type":"char","pdo_type" :2,"default":null,"nullable":true,"pkey":false},"unitcost":{"type":"decimal","pdo_type":2,"default":null,"nullable" :false,"pkey":false},"cap":{"type":"decimal","pdo_type":2,"default":null,"nullable":false,"pkey":false},"rev ":{"type":"smallint","pdo_type":1,"default":null,"nullable":false,"pkey":false},"buq":{"type":"smallint"," pdo_type":1,"默认":null,"可为空":true,"pkey":false},"create_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false} ,"log_ts":{"type":"int","pdo_type":1,"default":null,"nullable":true,"pkey":false},"filename":{"type":"varchar ","pdo_type":2,"default":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default": null,"nullable":true,"pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":错误的}}pkey":false},"create_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false},"log_ts":{"类型":"int","pdo_type":1,"default":null,"nullable":true,"pkey":false},"filename":{"type":"varchar","pdo_type":2 ,"default":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true ,"pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}pkey":false},"create_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false},"log_ts":{"类型":"int","pdo_type":1,"default":null,"nullable":true,"pkey":false},"filename":{"type":"varchar","pdo_type":2 ,"default":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true ,"pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false},"log_ts":{"type":"int","pdo_type":1,"default ":null,"nullable":true,"pkey":false},"filename":{"type":"varchar","pdo_type":2,"default":null,"nullable":true,"pkey ":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true,"pkey":false},"file_ts":{"type ":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false},"log_ts":{"type":"int","pdo_type":1,"default ":null,"nullable":true,"pkey":false},"filename":{"type":"varchar","pdo_type":2,"default":null,"nullable":true,"pkey ":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true,"pkey":false},"file_ts":{"type ":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}"log_ts":{"type":"int","pdo_type":1,"default":null,"nullable":true,"pkey":false},"filename":{"type":"varchar" ,"pdo_type":2,"default":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null ,"可为空":true,"pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false }}"log_ts":{"type":"int","pdo_type":1,"default":null,"nullable":true,"pkey":false},"filename":{"type":"varchar" ,"pdo_type":2,"default":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null ,"可为空":true,"pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false }}默认":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true," pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}默认":null,"nullable":true,"pkey":false},"line_no":{"type":"smallint","pdo_type":1,"default":null,"nullable":true," pkey":false},"file_ts":{"type":"datetime","pdo_type":2,"default":null,"nullable":true,"pkey":false}}
如您所见, id 有一个 "pkey":true 条目,因此可以查看帖子中的字段,然后查看该字段并确定是否需要设置 IDENTITY_INSERT。也许我会实现这一点。我担心这超出了我的工资等级。
sql - MS SQL Server 不允许我将 IDENTITY_INSERT 设置为 ON
我在数据库(MS SQL Server 2008)中有一个表,其中填充了数据。我想将其中一些数据(其中是具有 IDENTITY 约束的列)移动到另一个数据库中具有相同名称的表中以进行备份。由于我有一个表,其中包含要移动的 IDENTITY 列,因此我需要将 IDENTITY_INSERT 设置为 ON。我不想对此进行硬编码,因为将来我可能会有其他表和列遇到此问题。
我一直在摆弄这段代码几个小时,但无法让它工作:
运行此脚本时出现以下错误:只有在使用列列表并且 IDENTITY_INSERT 为 ON SQL Server 时,才能指定表中标识列的显式值。
似乎 MS SQL 忽略了我的字符串@IDENTITY_INSERTTableCommand 中的“ON”,但是当我在字符串中输入乱码时,它会抱怨合成错误。
谁能告诉我我做错了什么?先感谢您。