这适用于游戏应用程序,我希望用户在站立时会受到伤害。我宁愿不允许负hp(健康点),但是这个查询会导致我的服务器崩溃,因为数据超出了范围。
UPDATE game_moblist set hp=GREATEST(0,(hp-100)) WHERE id=2923
错误讯息:
#1690 - BIGINT UNSIGNED值超出范围'{legends
。game_moblist
。hp
- 100)'
我认为最好只允许0通过。我有点担心只是设置hp,因为如果两个查询同时造成损坏,我可能会失去其中一个的效果。
答案 0 :(得分:0)
尝试回填列标识符:
UPDATE `game_moblist` set `hp`=GREATEST(0,(`hp`-100)) WHERE `id`=2923