今天又遇到這樣一個錯誤“操作必須使用一個可更新的查詢”這裡我整理下原因及解決辦法,大家以後再遇到相同的問題可以先試下類似的解決辦法.
網上百度了很多,都沒有什麼作用,大多都是說權限問題,改的也都很麻煩,最後還是沒有解決,下面具體說下我的情況:
表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;
問題得到解決 ^_^