※ 引述《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 一次正確的值進去就好,但總覺得問題應該不是在這..
--
凝視著,卻看不見光景。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.223.207