select * from Openquery(MySQL, 'SELECT * FROM official.sys_hospital')
執行更新語句:mysql
update Openquery(MySQL, 'SELECT * FROM bigdata_official.sys_hospital WHERE id=2') set states=0;
報錯,錯誤信息:sql
連接服務器"MySQL"的 OLE DB 訪問接口 "MSDASQL" 返回了消息 "沒法爲更新定位行。一些值可能已在最後一次讀取後已更改。"。
消息 7343,級別 16,狀態 4,第 1 行
連接服務器 "MySQL" 的 OLE DB 訪問接口 "MSDASQL" 沒法 UPDATE 表 "[MSDASQL]"。行集正在使用樂觀併發機制,而自上次提取或從新同步包含列值的行後,該列值又有更改。服務器
錯誤緣由:mysql表內 id=2 的數據 states 已經爲 0,沒法更新併發
解決方案:spa
update Openquery(MySQL, 'SELECT * FROM bigdata_official.sys_hospital WHERE states=1 and id=2') set states=0;