今天又遇到这样一个错误“操作必须使用一个可更新的查询”这里我整理下原因及解决办法,大家以后再遇到相同的问题可以先试下类似的解决办法.
网上百度了很多,都没有什么作用,大多都是说权限问题,改的也都很麻烦,最后还是没有解决,下面具体说下我的情况:
表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;
WHERE t1.username = t2.username;
问题得到解决 ^_^