Sql 查询抛出标识符太长。最大长度为 128

Sql Query throws Identifier is too long. Maximum length is 128

我正在处理一个简单的更新查询,我在执行查询时看到以下错误。我非常清楚,这根本不应该是一个长度问题。可能是什么问题。

错误:

The identifier that starts with identifier is too long. Maximum length is 128

我的查询:

update dbo.DataSettings set 
Query ="/Details?$filter=(Status ne 'yes' and Status ne 'ok')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc"
where id=5

您应该使用单引号 '(并使用反斜杠 \ 转义字符串中的单引号),因为现在您要将 Query 分配给标识符(在这种情况下,列名),如果标识符的大小合适,您可能会收到诸如无效列名之类的错误:

UPDATE dbo.DataSettings
SET Query ='/Details?$filter=(Status ne \'yes\' and Status ne \'ok\')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc'
WHERE id = 5

使用单引号并用两个单引号转义文本中的引号:

update dbo.DataSettings set
set Query= '/Details?$filter=(Status ne ''yes'' and Status ne ''ok'')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc'
where id=5

仅供参考 我曾经 运行 遇到过同样的问题,上面的答案对我没有帮助 situation.Then 我意识到我用来保留链接服务器的完整限定名称的变量的长度不是 enough.I 将变量的长度更改为等于完整限定名称的长度,我的查询非常有效 well.Sometimes 就这么简单