2012-04-18 200 views
1

我想查詢一個表中插入,我不斷收到這樣的信息:消息102,級別15,狀態1,行1個附近有語法錯誤('

查詢是:

INSERT INTO A_USER(PK,status,login_id,HASHBYTES('md5', password),fk_role,last_update_ts,last_update_by,created_by) 
VALUES (2,1,'abc', 'abc',2,'3/15/2012 12:21:46 PM','abc','abc') 
+0

看看你的查詢。什麼東西看起來不合適?什麼東西看起來不一致? – AakashM 2012-04-18 10:59:49

回答

0

您的問題在於此行HASHBYTES('md5', password),您想在INSERTVALUES區域使用HASHBYTES

INSERT INTO A_USER 
(
    PK 
    ,status 
    ,login_id 
    ,[password] -- change to the name of your column. 
    ,fk_role 
    ,last_update_ts 
    ,last_update_by 
    ,created_by 
) 
VALUES 
(
    2 
    ,1 
    , 'abc' 
    ,HASHBYTES('md5', 'abc') -- place your password to be hashed where 'abc' is. 
    ,2 
    ,'3/15/2012 12:21:46 PM' 
    ,'abc' 
    ,'abc' 
) 
+0

是的,我逃避了這一點,但現在得到這個錯誤...它現在給另一個錯誤... Msg 128,Level 15 ,狀態1,行2在此上下文中不允許使用名稱「password」,有效表達式是常量,常量表達式和(在某些上下文中)變量,列名是不允許的 – 2012-04-18 11:05:28

+0

我剛剛更新了我的答案,您需要將hashby中的密碼替換爲您想要轉換的值 – Taryn 2012-04-18 11:06:12

+0

感謝bluefeet ...完美的工作 – 2012-04-18 11:11:30

3
INSERT INTO EMP_USER(PK,status,login_id,password,fk_role,last_update_ts,last_update_by,created_by) 
VALUES (2,1,HASHBYTES('md5', password),'abc','abc',2,'3/15/2012 12:21:46 PM','abc','abc') 

insert語句就像是

​​

HASHBYTES('md5', password)中的值部分,並命名該列在列比肩t

+0

+1:問題在於他在第一行放置了其他名稱而不是列名 – 2012-04-18 11:00:06

+0

@Java_NewBie:我不知道如何命名要存儲哈希密碼的列。將'password'替換爲該列的名稱。例如:'... EMP_USER(PK,status,login_id,password_column_name,...' – 2012-04-18 11:06:41

相關問題