sql-server - “违反主键约束”SQL 错误

标签 sql-server coldfusion

这似乎是一个很常见的问题,但是,到目前为止我尝试过的所有方法都没有解决方案。我正在为我的 PK 使用 ID 字段,并且自动增量已打开。这种情况发生在数据已与当前数据合并的 DEV 环境中。

任何帮助将不胜感激。

我正在使用 SQL Server。我还运行了 DBCC CHECKIDENT([ceschema.ce_attendeeCredit]) 并且身份似乎正确排列。我认为游戏中可能存在更深层次的问题。

INSERT INTO tblpersonCredit
                (
                personID,
                CreditID,
                Amount,
                ReferenceNo,
                CreatedBy
                )
            VALUES
                (
                <cfqueryparam value="#arguments.AttendeeCredit.getAttendeeID()#" CFSQLType="cf_sql_integer" />,
                <cfqueryparam value="#arguments.AttendeeCredit.getCreditID()#" CFSQLType="cf_sql_integer" />,
                <cfqueryparam value="#arguments.AttendeeCredit.getAmount()#" CFSQLType="cf_sql_float" null="#not len(arguments.AttendeeCredit.getAmount())#" />,
                <cfqueryparam value="#arguments.AttendeeCredit.getReferenceNo()#" CFSQLType="cf_sql_varchar" null="#not len(arguments.AttendeeCredit.getReferenceNo())#" />,
                <cfqueryparam value="#arguments.AttendeeCredit.getCreatedBy()#" CFSQLType="cf_sql_integer" />
                )

最佳答案

我注意到您问题中的这一行特定内容:

This is occurring in a DEV environment where data has been merged with the current data.

手动将数据插入自动增量字段后,您可能需要将自动增量计数器重置为插入的最大 ID 之后的值。

如何执行此操作(以及是否需要)取决于数据库。例如,在 MySQL 中,您可以使用 ALTER TABLE 语句:

ALTER TABLE tbl AUTO_INCREMENT = 10000

重置 SQL Server IDENTITY 列种子的等效命令是:

DBCC CHECKIDENT(tbl, RESEED, 9999)

关于sql-server - “违反主键约束”SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278588/

相关文章:

coldfusion - 默认QuartzScheduler_Worker "Task invokehandler could not be chained"

coldfusion - 欧元货币格式

sql-server - MS-SQL/ColdFusion : Mysterious database error: Object has been closed

mysql - 除了初始成本之外,使用 MySQL 而不是 SQL Server 和 .net 有什么其他好处吗?

sql-server - 什么是 T-SQL 授予对 SQL Server 数据库中表的读写访问权限?

javascript - 如何让下拉列表在不提交表单的情况下显示消息

sql - SQL Server Reporting Services Denali 中有哪些新功能?

sql-server - 如何在Sql中创建用户定义的类型

ColdFusion:是否可以从 cfscript for in 循环中获取索引?

sql-server - 从数据库中的 ParentID 创建嵌套的 <ul> 树结构