看板 Database 關於我們 聯絡資訊
※ 引述《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