首先我得到了这个错误:
无效的对象名称“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
,因此也应该重命名。
只需重命名该表,您的表名中就会有一个不可见的字符