2017-05-30 157 views
-1

故事:
我已經研究了使用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,但對我來說沒有好的解決方案。

請給我解決這個問題的正確方法。謝謝

+0

錯誤消息是非常明顯的,有一個限制,您的表,這是防止您輸入重複密鑰。 – DavidG

+0

我剛剛使用yii2的默認遷移來創建用戶表 –

+0

@DavidG我知道錯誤的含義。我已確定[用戶名],[電子郵件],[密碼重設密碼]字段沒有重複的條目。當[id]字段未設置時,只有[id]字段不能像MySQL那樣執行自動遞增。 –

回答

0

password_reset_token被插入爲空。

0

確保您已在用戶表中爲id自動增加了打勾的列。 ,因爲它需要相同的值,這是以前的id存儲的下一個操作

相關問題