2012-08-07 39 views
0

这是针对游戏应用程序我希望用户在站在火中时受到伤害。我宁愿不允许负面的惠普(健康点),但这个查询是崩溃我的服务器,因为数据超出范围。游戏应用程序BIGINT UNSIGNED值超出范围

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

错误消息: #1690 - BIGINT UNSIGNED值超出范围 '(legendsgame_moblisthp - 100。)'

我以为最大的将只允许0经历。我有点担心只是设置HP,因为如果两个查询一次造成损坏,我可以放弃其中一个的影响。

+0

是我的回答有帮助吗? – 2012-10-02 16:56:47

回答

0

尝试backticking您的列标识符:

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

我在这里得到同样的错误,但我知道这是行不通的,因为phpMyAdmin的错误消息被抽出了#1690 - BIGINT UNSIGNED值超出'('legends'.'game_moblist'.'hp' - 100) “ – Shawn 2012-08-07 17:32:13