【问题标题】:Updating multiple rows with an array使用数组更新多行
【发布时间】:2011-01-16 18:50:33
【问题描述】:

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

这是一个例子:

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

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

我想要做的是使用SET 区域中的位置数组更新用户表。
我的目标是能够在不需要用户 ID 的情况下更新用户(我有不同大小的游戏板,所以每个板大小都有多个位置数组

我该如何做这样的事情:

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

我觉得将每个团队的所有id都选中并单独更新它们会浪费资源。

【问题讨论】:

  • 那里的查询应该可以正常工作,但我们可能需要查看更多的 sql 结构以获得更好的答案。

标签: php mysql


【解决方案1】:

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

例如

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

显然,这不适用于您的代码,因为我没有太多信息可以继续,但这应该让您知道该怎么做。

很抱歉,如果我完全无法理解您的问题,正如所说,根据您给我们的内容很难理解您的确切问题。

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 2021-09-13
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2016-08-01
    • 2014-03-02
    相关资源
    最近更新 更多