游戏开发MySQL的条件
问题描述:
当玩家移动的项目,以他的性格项目类型(Type)是在玩家装备的袖标类型=“手镯” ID喜欢它的情况下发送到服务器游戏开发MySQL的条件
尝试将item_id放置在game_moblist(游戏中的玩家和badguys)表中的leftbracer列中,如果左侧已经有item_id,则将其放置在右侧。我使用值= 0来表示一个空插槽。
if (type=="bracelet"){
to_sql="UPDATE game_moblist SET leftbracer"="+item_id+" WHERE id="+player_id
}
以前我在使用select,但是我想在1个查询中做。谢谢。
答
只需使用一个IF瑟如果leftbracer = 0,和值设置为新项目的ID或保留旧值
UPDATE game_moblist SET
rightbracer = IF(leftbracer = 0, rightbracer, :item_id),
leftbracer = IF(leftbracer = 0, :item_id, leftbracer);
+0
在将item_id分配给该列之前,您应该确保rightbracer也是空的。 – 2012-07-18 17:32:15
+0
可能是一个好的ide,但这不是OPs的解释 – 2012-07-18 17:34:08
你有一个'=',可能应该是一个'+' 。但我不明白。你在建立你的SQL客户端吗? – 2012-07-18 17:17:11
如果你使用MySQL作为你的状态库,它将会造成缓慢的游戏。您应该将游戏状态保持在本地数据结构中,并根据需要将该状态备份到数据库。听起来就像是在将数据库中的左手或右手配备护腕的逻辑一样。 – 2012-07-18 17:22:48
你的服务器端语言是什么?你的语法看起来不对,或者我可能不习惯它 – 2012-07-18 17:28:04