update使用 price=price+10 無法更新數據(mysql)的解決方法

在使用update更新數據時,顯示更新成功,但是卻沒有更新數據。

 

問題: update t_book SET  price = price + 1 where id = '1' ;

結果:

Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

 

原因:

因爲在表t_book中price(int)的初始值爲null,所以使用price = price + 1時數據並不會更新。

 

解決方法:

把price的初始值設置爲0即可。

update t_book SET  price = 0 where id = '1' ;

update t_book SET  price = price + 1 where id = '1' ;

這樣即可更新成功。

雖然price爲空時讀取出來的結果還是0,但是在數據庫中執行自增時就會出現問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章