溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

容易犯錯(cuò)的update操作是什么

發(fā)布時(shí)間:2022-01-15 10:21:36 來(lái)源:億速云 閱讀:111 作者:iii 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容主要講解“容易犯錯(cuò)的update操作是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“容易犯錯(cuò)的update操作是什么”吧!

我們?cè)?條SQL中對(duì)多值update 時(shí),有木有被'and'迷惑,誤將',' 寫成了'and'。

下面看看兩個(gè)語(yǔ)句的區(qū)別,我們目的要將beijing 表id<=2 的uid gid 的值各+1000 :

#1 update beijing set uid=uid+1000 and gid=gid+1000 where id <=2 ;

#2 update beijing set uid=uid+1000 ,   gid=gid+1000 where id <=2 ;

1、首先看數(shù)據(jù):

2、#1的update操作,Query OK,匹配了2條并變更了2條。并且NO warnings; 這時(shí)候我們可能認(rèn)為SQL執(zhí)行正確。

再select beijing表,id<=2 的uid=0 , 而gid 沒(méi)有變化,顯然不是我們想要的結(jié)果。

3、為什么會(huì)產(chǎn)生錯(cuò)誤的結(jié)果呢? 我們看下面SQL,MySQL將“uid+1000 and gid=gid+1000”的值賦給了uid ,

“uid+1000 and gid=gid+1000”這個(gè)條件為假,MySQL中假即= 0 ,從而導(dǎo)致了uid 賦值為0 而gid 并未更新。

4、正確的寫法如#2 update beijing set uid=uid+1000 ,   gid=gid+1000 where id <=2 ;

到此,相信大家對(duì)“容易犯錯(cuò)的update操作是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI