【问题标题】:Multi-part identifier could not be bound (SQL SERVER)无法绑定多部分标识符 (SQL SERVER)
【发布时间】:2014-02-27 06:29:55
【问题描述】:

我正在使用 Lua 编程语言进行编程并使用 SQL。

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

这是声明:

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

现在,由于前 1 个用户 ID 存储在 U 中, 我希望在我的下一个声明中告诉我们

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

但如果我使用的是 U.userid,它会显示“无法绑定多部分标识符”。其次,出现此错误是因为我尝试使用 U.userId,它是消息的 ModifiesById 字段中的用户表中的数据表,但我在这些表之间没有任何共同的列来进行连接。 我唯一的要求是在 Message Table 的 ModifiedById 列中使用 Users 表的 UserId 列的前 1 个值。 我该如何解决这个问题?

【问题讨论】:

    标签: sql sql-server lua multipart


    【解决方案1】:

    我相信错误是存在的,因为 SQL 查询引擎不知道 U.userid:U 是一个局部变量,引擎无权访问它。尝试更改第二个查询以将 U.userid 的值连接到字符串中:

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

    【讨论】:

      猜你喜欢
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 2013-06-23
      • 2019-01-26
      • 1970-01-01
      相关资源
      最近更新 更多