UnhandledPromiseRejectionWarning: RequestError: Incorrect syntax near '17'

UnhandledPromiseRejectionWarning: RequestError: Incorrect syntax near '17'

使用mssql(6.3.1) 和节点(14.15.1)。

当我使用文档中显示的模板文字时,查询有效。

这是我在模板文字中的查询,它有效。 (这里的数据库名称不是变量)

await sql.query`
    INSERT
      INTO
      DB.DB.notes (updated_date,
      updated_user,
      note_description,
      work_order_id,
      created_date ,
      created_user)
    values(
    ${normalizedDate},
    ${username} ,
    ${note_description},
    ${wo_id},
    ${normalizedDate} ,
    ${username} )
`;

但是当我尝试用变量替换数据库时,比方说 ${DB},它会抛出错误。 首先是说

RequestError: Incorrect syntax near "."

然后我得到了

RequestError: Incorrect syntax near "17" (it started from 14 and it's incremented to 17)

这是 documentation,我试过 ConnectionPool class、.query('/**query**/'),但 none 对我有用。

请指出这里有什么问题。

您在查询中使用的语法会生成参数化查询。

无法在查询中参数化“标识符”。参见 Can I parameterize the table name in a prepared statement?