2011-01-16 8 views
-1

私はユーザー情報を保持するテーブルを持っています。いずれかの列には、そのゲームのユーザーの位置が保持されます。
ゲームの作成時に、各チームのユーザーの位置を更新する必要があります。ここで複数の行を配列で更新する

は一例です:私は何をしたいか

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年代を選択し、それらを別々に更新するための資源の無駄になりますように私は感じます。

+0

クエリは正常に動作するはずですが、より良い答えを得るためにはSQL構造の詳細を確認する必要があります。 –

答えて

0

私はあなたがしようとしていることを理解するのに苦労しています。私が理解しているところでは、他のテーブルを更新するためにテーブルからデータを選択しています。あなたは "UPDATE .. JOIN .."クエリを使ってみましたか?これにより、別の表からの連想データに基づいて、ある表の複数の行を更新できます。例えば

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

もちろん、私は上に行くためにはほとんど情報を持っているが、それはあなたで行くことに何のアイデアを与える必要があるとして、あなたのコードでこの文句を言わない仕事。

ご迷惑をおかけして申し訳ございません。私があなたに与えたことに基づいて、正確な問題を理解するのは少し難しいと言われています。

関連する問題