OTL更新mysql資料庫錯誤

2021-08-21 05:20:49 字數 867 閱讀 9949

現在專案中遇到乙個bug需要解決.語音服務更新多條資料到mysql資料庫,但是只有自增id最大的資料更新成功了.其他資料,全部更新失敗.

語音服務採用了otl作為資料庫處理層.

1、bug描述如圖1:更新uid=12373~12377,tb_user表只有只有12377更新欄位user_gpsswitch成功。

2、為了排除語音服務的問題,按照服務的使用方法,重寫了乙份otl更新資料庫。經過測試,可以全部更新成功。

排除了語音服務使用otl庫錯誤的問題。

語音服務otl使用**如圖2、圖3。

3、測試程式更新到測試環境(bug復現的環境),發現問題復現了,問題定位到環境配置。

檢視unixodbc版本,centos6.6預設yum安裝了2.2.14。

而本機除錯環境,版本為2.3.6.

檢視unixodbc版本更新記錄,有如下描述:

18.nov.2008

2.2.13 released

- remove the mysql driver, its woefully out of date now

因此,初步判斷為版本問題。公升級unixodbc到2.3.6,再次測試問題解決。

圖 1

圖 2圖 3

截圖不完整,補充otl語句如下:

otl_update_user.open(user_list.size(),"update tb_user set user_name=:f1, user_password=:f2, user_audiostatus=:f3, user_gpsswitch=:f4, user_gpsfrequency=:f5,  user_type=:f6where user_id=:f7",*m_db);

Mysql 資料庫更新錯誤

語句 update test setage 5 where name 王莽 顧名思義就是把王莽的年齡改為5,但結果很無奈 影響行數為0,怎麼回事,語法沒錯,都沒問題啊 隨便改了改了,將name 的兩個引號去掉,結果卻無意間成功了 但是使用圖形介面更改時,結果更讓人迷惑 生成的 是 update we...

OTL連線Oracle資料庫

otl 是 oracle,odbc and db2 cli template library 的縮寫,是乙個c 編譯中操控關聯式資料庫的模板庫,它目前幾乎支援所有的當前各種主流資料庫,例如oracle,ms sql server,sybase,informix,mysql,db2,interbase...

OTL資料庫儲存技術

otl 是 oracle,odbcand db2 cli template library 的縮寫,是乙個c 編譯中操控關聯式資料庫的模板庫,它目前幾乎支援當前所有的各種主流資料庫,例如oracle,ms sql server,sybase,informix,mysql,db2,interbase ...