故事:
我已經研究了使用SQL Server作爲我的Yii2項目併成功連接和運行遷移。
違反UNIQUE KEY約束'UQ__user__xxx'。無法在對象'dbo.user'中插入重複鍵。重複鍵值是(<NULL>)
問題:
我想從我的yii2項目新用戶註冊到我的數據庫,但我從SQL Server得到這個錯誤。
違反UNIQUE KEY約束'UQ__user__xxx'。無法在對象'dbo.user'中插入重複鍵。重複的鍵值是 (NULL)。
這裏執行的查詢
INSERT INTO [user]
([username],
[auth_key],
[password_hash],
[email],
[user_type],
[status],
[created_at],
[updated_at])
VALUES
('andhy',
'EIrQRO31WLuDGDPoSIkz_wTWEzjGzIK0',
'$2y$13$1cWynvtIyDA.7I3nyvKqmuq6KT5XPsNc6LaJ04MrWmiNpqP2.vraS',
'[email protected]',
'backend',
10,
1496125394,
1496125394)
唯一鍵唯一[ID](如PK),[用戶名],[郵件],[password_reset_token]
我認爲[ID]字段必須在查詢中選中並將IDENTITY_INSERT設置爲ON,但對我來說沒有好的解決方案。
請給我解決這個問題的正確方法。謝謝
錯誤消息是非常明顯的,有一個限制,您的表,這是防止您輸入重複密鑰。 – DavidG
我剛剛使用yii2的默認遷移來創建用戶表 –
@DavidG我知道錯誤的含義。我已確定[用戶名],[電子郵件],[密碼重設密碼]字段沒有重複的條目。當[id]字段未設置時,只有[id]字段不能像MySQL那樣執行自動遞增。 –