2012-04-18 197 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

相关问题