多部分标识符无法绑定(SQL SERVER)

我正在使用Lua编程语言,并与SQL一起使用。

在我的程序中,我有一个select语句,从名为“users”的表中获取userid并将其存储在名为“U”的变量中。

这是语句:

local U = conn:query{live=true,sql="select top 1 userid from users where username = 'iguana01'"}

现在,由于顶部1个userid存储在U中, 我想在下一条语句中使用它,即

“UPDATE dbo.Messages SET Status =' R',ModifyDate = GetUTCDate(),ModifiedById = U.userid WHERE MessageId ='10'

但是,如果我使用U.userid,它会说“无法绑定多部分标识符”。其次,出现此错误是因为我正在尝试在消息表的ModifiesById字段中使用来自用户表的U.userId数据,但我没有任何连接这些表的公共列。 我唯一的要求是在消息表的ModifiedById列中使用用户表的UserId列的顶部1个值。 我怎么修复它?

点赞
用户869951
用户869951

我认为错误是因为 SQL 查询引擎不知道 U.userid:U 是一个本地变量,引擎无法访问它。尝试更改第二个查询,将U.userid的值连接到字符串中:

"UPDATE dbo.Messages SET Status='R' , ModifyDate = GetUTCDate(), ModifiedById = " .. U.userid .. " WHERE MessageId ='10'"
2014-02-27 15:47:25