作者evilrat (坏老鼠)
看板Database
标题Re: [SQL ] 请教Update的相关问题 MySQL
时间Mon Dec 15 15:19:16 2008
※ 引述《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