2011-07-20 17 views
0

私は2つの以下のテーブルを持っているのMySQL、PHPのテーブルの質問(更新時に削除)

table A 

| id | name | 
| 1 | bob | 
| 2 | jill | 
| 3 | jojo | 

は、表Aは、チェックボックスを使用して表示されます。最初に行く上で

、ユーザーの確認すべての3つのチェックボックスは、テーブルBの

table B 

| table_a_id | table_c_id | 
| 1   | 2  | 
| 2   | 2  | 
| 3   | 2  | 

しかし、ユーザーが編集することになり、次の時間で結果を得るように、それが唯一だように、彼らは「2」のチェックを解除:

| table_a_id | table_c_id | 
| 1   | 2  | 
| 3   | 2  | 
+0

" 'table_cd_id = 2'" あなたは_c_を意味するものではありませんでしたか? – genesis

+0

テーブルBを更新したいのですが、table_c_id = 2、table_a_id = 1と3です。 –

+0

はい...私は私が探している結果テーブルで少し質問を編集しました。これが事を明確にしてくれることを願っています... – redconservatory

答えて

2

1 
3 

は、どのように私はに更新され、その結果表B(MySQLやPHPのいずれかを使用して)私のクエリを記述します3210

それともずっと簡単、Foreign keyON DELETE CASCADEと共にInnoDBを使用:)

+0

'A'と 'B'はテーブルAとテーブルBを意味しますか? – redconservatory

+0

確かに、それは私が意味するものです。 – Wrikken

+0

私は1つのことについて明確ではありませんでした:A.id = 2は、チェックボックスがチェックされていないことを表します。渡される唯一の値が1と3の場合、 'missing'値を見つけてその行を削除するようにテーブルに指示する方法はありますか? – redconservatory

0
DELETE 
FROM TableB 
WHERE (NOT table_a_id IN (1, 3)) 
    AND (table_c_id = 2) 
関連する問題