“'附近的语法不正确

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“'附近的语法不正确相关的知识,希望对你有一定的参考价值。

首先我得到了这个错误:

无效的对象名称“product_images _temporary”

在我添加了[]括号后,一切正常。但是当我再次删除它们时,我收到了这个错误:

“'附近的语法不正确

为什么这样做:

[product_images​_temporary]

但是这会引发异常(“'''附近的语法不正确):

product_images​_temporary

更多代码:

try
{
    using (var sqlConnection = new DapperHelper().DatabaseConnection())
    {
        var sqlStatement = "SELECT * FROM product_images​_temporary";

        sqlConnection.Execute(sqlStatement);
    }
}
catch (Exception e)
{
}

product_images​_temporary是SQL Server中的保留字吗?像datetime等?我无法解释这一点。

答案

s_之间是Unicode零宽度空间字符u200B。这是不可见的,因此使字符串不像它看起来那样。

此字符在SQL对象标识符名称中不合法,并且是您看到的错误的原因,使用[]转义使其合法。

只需手动重新键入名称或在两个字符之间双重删除。

由于您的代码与[]一起使用,这意味着实际的表名包含u200B,因此也应该重命名。

另一答案

只需重命名该表,您的表名中就会有一个不可见的字符

以上是关于“'附近的语法不正确的主要内容,如果未能解决你的问题,请参考以下文章