0

这是一个游戏应用程序,我希望用户在着火时受到伤害。我宁愿不允许负 hp(health points) 但这个查询正在使我的服务器崩溃,因为数据超出了范围。

UPDATE game_moblist set hp=GREATEST(0,(hp-100)) WHERE id=2923

错误消息:#1690 - BIGINT UNSIGNED 值超出 '( legends. game_moblist. hp- 100)' 的范围

我认为最好的只会让0通过。我有点担心只是设置 hp 因为如果两个查询同时造成损坏,我可能会失去其中一个的效果。

4

1 回答 1

0

尝试反引号你的列标识符:

UPDATE `game_moblist` set `hp`=GREATEST(0,(`hp`-100)) WHERE `id`=2923
于 2012-08-07T17:19:59.470 回答