使用数组更新多行

时间:2011-01-16 18:50:34

标签: php mysql

我有一个包含用户信息的表。其中一列保持用户在他们所处的游戏中的位置 在创建游戏时,我需要更新每个团队用户的位置。

以下是一个例子:

Game id : 7
Team 1 users : 1,2
Team 2 users : 3,4

team1_position : array(1,2)
team2_position : array(13,14)

我想要做的是使用SET区域中的位置数组更新用户表 我的目标是能够在不需要他们身份的情况下更新用户(我有不同大小的游戏板,因此每个主板尺寸都有多个位置阵列

我该怎么做:

UPDATE user 
SET position='(team1_position)' 
WHERE game = '7' AND team = '1'

我觉得选择每个团队的所有id并分别更新它们会浪费资源。

1 个答案:

答案 0 :(得分:0)

我很难理解你想要做什么,更好的解释会很好。根据我的理解,您正在从表中选择数据以更新其他表。你尝试过使用“UPDATE .. JOIN ..”查询吗?这应该允许您根据另一个表中的关联数据更新一个表中的多个行。

例如

UPDATE user
JOIN game ON
    user.id=game.id_user
SET user.position=game.team1_position

显然这对你的代码不起作用,因为我只有很少的信息可以继续,但这应该让你知道该怎么做。

很抱歉,如果我完全不理解你的问题,就说根据你给我们的内容,你有点难以理解你的确切问题。