这是针对游戏应用程序,我希望用户在站在火中时受到伤害。 我宁愿不允许负 hp(健康点),但此查询使我的服务器崩溃,因为数据超出范围。
UPDATE game_moblist set hp=GREATEST(0,(hp-100)) WHERE id=2923
错误信息: #1690 - BIGINT 无符号值超出 '( legends
中的范围。game_moblist
.hp
- 100)'
我以为最大只会允许 0 通过。 我有点担心只设置 hp,因为如果两个查询同时造成损害,我可能会失去其中一个查询的效果。
尝试反引列标识符:
UPDATE `game_moblist` set `hp`=GREATEST(0,(`hp`-100)) WHERE `id`=2923