为什么我的UPDATE查询返回的结果少于等效的SELECT查询?

时间:2014-07-15 09:57:44

标签: sql ms-access sql-update ms-access-2010

我正在尝试在Access 2010中运行UPDATE查询以从字段中删除尾随空格。在运行完整查询之前,我正在编写一个测试查询,该测试查询受到返回1结果的ID的限制,以防出现任何可怕的错误。

查询的SELECT版本按预期返回一个结果:

SELECT dbo_Contact.ContactID, dbo_Contact.Pref
FROM dbo_Contact
WHERE (((dbo_Contact.ContactID)=11906) AND ((dbo_Contact.Pref) Like "% "));

但是,当我将其更改为UPDATE查询时,它会显示“您即将更新0行。”

UPDATE查询如下:

UPDATE dbo_Contact SET dbo_Contact.Pref = Left([Pref],(Len([Pref])-1))
WHERE (((dbo_Contact.ContactID)=11906) AND ((dbo_Contact.Pref) Like "% "));

我做错了什么?由于WHERE过滤器是相同的,我假设它在我正在使用的表达式中作为要更新的值。如果是这种情况,那有什么问题?

1 个答案:

答案 0 :(得分:1)

在大多数情况下,Access通配符是*,而不是%。有例外,但我不确定你是否有这样的设置。