這裏是代碼違反PRIMARY KEY約束錯誤SQL
BEGIN TRANSACTION
INSERT INTO [cresql].[dbo].[AR_Transactions]
(DateTime , Dirty, Store_ID, Trans_Type, Cashier_ID, CustNum, Trans_Amount, Prev_Cust_Balance)
SELECT
DATEADD(MINUTE, -30, Getdate()), 1, 1001, 'C', 100199,
CustNum, -Acct_Balance, Acct_Balance
FROM
[cresql].[dbo].[Customer]
WHERE
Acct_Balance <> 0
UPDATE [cresql].[dbo].[Customer]
SET Acct_Balance = -500
WHERE Acct_Balance <> 0
COMMIT TRANSACTION
但我得到這個錯誤
消息2627,級別14,狀態1,行PRIMARY KEY的3
衝突約束'pkAR_Transactions'。 不能在對象'dbo.AR_Transactions'中插入重複鍵。
該聲明已被終止。
我不是在SQL親......任何想法,我做錯了
哪個字段是主鍵? – Marco 2011-05-23 21:06:42
Trans_ID是我認爲的主鍵...正如我所說我不知道SQL ...我是一個MySQL和PHP開發人員,我是foriegn到SQL服務器2008年 – Trace 2011-05-23 21:09:23
由於消息明確說:你試圖插入一個**重複值**到任何您在該表上的主鍵。解決方案:不要這樣做!表**的主鍵必須始終是唯一的 - 在任何情況下,**無法在表中的兩個行中爲主鍵使用兩個相同的值。 – 2011-05-23 21:09:57