在使用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,但是在数据库中执行自增时就会出现问题。