mysql - sql中update语句 and 和直接where语句的区别是什么?
PHP中文网
PHP中文网 2017-04-17 13:47:50
0
3
615
  1. 现在我有如下两条sql请问有什么区别

update customer set moeny = 100 and balance >= 100

udpate customer set money =100 where balance >= 100

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
小葫芦

先說正確的寫法

udpate customer set money  =100 where balance >= 100

所有balance >=100 的money=100

再說錯誤的

update customer set moeny = 100 and balance >= 100

這個錯誤很嚴重,会把全局的money变为默认值,通常是0

原因是:沒有where則為全域set ,set裡面多個設定方式是採用',';如果用了and 會認為是對money的設定,money = (100 and balance >=100),但是,這個表達式的值無法被識別,會變成預設值。

因此:全局的money變成了預設值,很坑爹的,delete和update千万记得加where,尤其update,因为delete还有提醒

Ty80

原來是這樣

刘奇

update customer set moeny = 100 and balance >= 100;
=>
update customer set moeny = (100 and balance >= 100);

也就是說 moeny全部設為1 或0.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!