尝试将某些项目插入表格时,我收到以下错误:
Msg 2627,Level 14,State 1,Procedure dba_create_fake_orders,Line 95 [Batch Start line 2]
违反PRIMARY KEY约束' PK_OrderItem_1'。无法在对象' dbo.OrderItem'中插入重复键。重复键值为(10000,100009)。
以下是我的表格设置方式,以下代码只是用于将这些项目插入表格的代码段:
INSERT INTO Orders(order_id, customer_id, sub_total, tax_total,
grand_total, date_created)
SELECT
@order_id, @customer_id, 0, 0,
0, @date_created
INSERT INTO OrderItem (order_id, quantity, game_id, price_id)
SELECT
@order_id, @quantity, game_id, price_id
FROM
GameVersion
WHERE
game_id = @game_id
@order
和@customer_id
取自平面客户表,随机选择。 OrderItem
表一直是空的,所以我不确定为什么它说有重复错误。唯一填充的表是Orders
和GameVersion
。
GameVersion
,Orders
之前就完成了OrderItem
。我假设问题是,因为我必须使用密钥然后它可能会抱怨,因为它们可能是相同的数字,但我仍然不确定。
答案 0 :(得分:0)
如果以下查询返回多行,则表示您的数据集在您在OrderItem中用作PK的列集中具有重复值。
select count(*), game_id from GameVersion GROUP BY game_id having count(*)>1