日期:2014-05-16  浏览次数:20348 次

Access数据库“操作必须使用一个可更新的查询”

今天又遇到这样一个错误“操作必须使用一个可更新的查询”这里我整理下原因及解决办法,大家以后再遇到相同的问题可以先试下类似的解决办法.

网上百度了很多,都没有什么作用,大多都是说权限问题,改的也都很麻烦,最后还是没有解决,下面具体说下我的情况:

表A中有字段id、roomnum、username

表B中有字段id、remark、username

现在表A的字段room都是空的,需要根据表A中的username到表B中查找remark,然后更新到表A中(前提没有重名用户)


使用常规update语句为:

update A as t1 set t1.roomnum = (select max(username) from B as t2 where t2.username = t1.username)

而这条SQL语句在Access数据库中不允许,出现提示“操作必须使用一个可更新的查询


于是想到了,另一种更新语句,如下:

UPDATE A as t1, (SELECT username,remarkFROM B)  as t1 SET t1.roomnum = t2.remark
WHERE t1.username = t2.username;


问题得到解决 ^_^