84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
现在我有如下两条sql请问有什么区别?
update customer set moeny = 100 and balance >= 100
udpate customer set money =100 where balance >= 100
认证高级PHP讲师
所有balance >=100 的money=100
这个错误很严重,会把全局的money变为默认值,通常是0
会把全局的money变为默认值,通常是0
原因是:没有where则为全局set ,set里面多个设置方式是采用',';如果用了and 会认为是对money的设定,money = (100 and balance >=100),但是,这个表达式的值无法识别,会变为默认值。
因此:全局的money变成了默认值,很坑爹的,delete和update千万记得加where,尤其update,因为delete还有提醒。
delete和update千万记得加where,尤其update,因为delete还有提醒
原来是这样
update customer set moeny = 100 and balance >= 100;=>update customer set moeny = (100 and balance >= 100);
update customer set moeny = (100 and balance >= 100)
也就是说 moeny全部设为1 或0.
先说正确的写法
所有balance >=100 的money=100
再说错误的
这个错误很严重,
会把全局的money变为默认值,通常是0
原因是:没有where则为全局set ,set里面多个设置方式是采用',';如果用了and 会认为是对money的设定,money = (100 and balance >=100),但是,这个表达式的值无法识别,会变为默认值。
因此:全局的money变成了默认值,很坑爹的,
delete和update千万记得加where,尤其update,因为delete还有提醒
。原来是这样
update customer set moeny = 100 and balance >= 100
;=>
update customer set moeny = (100 and balance >= 100)
;也就是说 moeny全部设为1 或0.