0
我正在創建一個存儲過程來檢查用戶名是否存在,如果不存在,請插入用戶表,然後獲取相同用戶名的用戶標識。這就是我試圖什麼是最好的使用方式不存在並插入?
alter Procedure Check_Name
(
[email protected] integer,
@username varchar(25),
@password varchar(100)
[email protected]_id integer
)
As
Begin
INSERT INTO [user] (username,[password])
SELECT username,[password]
FROM [user] AS u
WHERE NOT EXISTS(
SELECT idn FROM [user] AS t
WHERE u.username = t.username);
End
當我嘗試執行它說,零行affected..What是問題
execute Check_Name 'Pope', 'Life2Stressfull';
確定我改變了..那麼我得到了不能插入null爲我的role_id插入一個值。現在,我收到了違反UNIQUE KEY約束'UQ__user__F3DBC5722FAC4C26'的問題。無法在對象'dbo.user'中插入重複鍵。重複的鍵值是(Franz123)。我沒有得到,因爲我插入的用戶名不是'Franz123' – user2127184
'WHERE u.username = t.username AND t.username = @ username' – thepirat000