Gaming application BIGINT UNSIGNED value is out of range

This is for a gaming application I want the user to take damage when standing in fire. I'd rather not allow negative hp(health points) but this query is crashing my server because the data is out of range.

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

Error Message: #1690 - BIGINT UNSIGNED value is out of range in '(legends.game_moblist.hp - 100)'

I thought greatest would only allow 0 to go through. I was a bit worried about just setting hp because if two queries do damage at once I could loose the effect of one of them.

try backticking your column identifiers:

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