※ 引述《roga (凝視)》之銘言:
: ※ 引述《evilrat (壞老鼠)》之銘言:
: : 作業平台是windows 2003,MySQL,使用C撰寫
: : 現在遇到一個問題
: : update table set Date='%s',where Id='%d';
: : 但是卻不能肯定Date是不是跟原本的Date一樣
: : 會有這煩惱是因為update的值前後一樣的話會當做是錯誤(error code=1403)
: 如果該欄位的值 update 前和 update 後都一樣的話,會顯示 0 row(s) affected.
: 真正的 1403 錯誤是這樣,和您的敘述應該不太類似:
: # Error: 1403 SQLSTATE: 42000 (ER_NONEXISTING_PROC_GRANT)
: Message:
: There is no such grant defined for user '%s' on host '%s' on routine '%s'
: : 也有去查一下代碼,但是卻不能很肯定說這個代碼就是只有這種情況會發生
: : 現在的解決辦法是再判斷一次error code是不是1403
: : 感覺好像不是很正確的方式。
: : 不知道有沒有什麼解決的好方法?
: 如果真的有這種詭異狀況的話,就先把該筆資料的 date udpate 為 null
: 然後再 update 一次正確的值進去就好,但總覺得問題應該不是在這..
目前所要做的東西情況是這樣:
利用A資料庫裡的表單資料去更新B資料庫裡的表單資料,
所要選取的資料判斷是利用其中的一個Flag欄位(True or False)。
現在沒辦法肯定的是要取出來的資料有沒有變動過(資料沒變,Flag判斷需要Update,
還是會抓出來)
Update B裡的表單時就會因這狀況回傳Query fail。(也是可以不檢查是否成功或失
敗,但是這樣出錯很難除‧‧‧)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.93.6