MySQL、php表问题(更新时删除)

MySQL、php表问题(更新时删除),php,mysql,Php,Mysql,我有下面两张表 table A | id | name | | 1 | bob | | 2 | jill | | 3 | jojo | 使用复选框显示表A 首先,用户选中所有三个复选框,以便在表B中得到结果 table B | table_a_id | table_c_id | | 1 | 2 | | 2 | 2 | | 3 | 2 | 但下次用户进行编辑时,他们会取消选中“

我有下面两张表

table A

| id | name |
| 1  | bob |
| 2  | jill |
| 3  | jojo |
使用复选框显示表A

首先,用户选中所有三个复选框,以便在表B中得到结果

table B

| table_a_id | table_c_id |
| 1          |   2        |
| 2          |   2        |
| 3          |   2        |
但下次用户进行编辑时,他们会取消选中“2”,这样它只会:

1
3
如何编写查询(使用mySQL或php),以便将表B更新为:

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

或者在DELETE CASCADE上使用带有
的InnoDB,更简单:)

“'table_cd_id=2'”你不是指c吗?你想更新table B,其中table_c_id=2和table_a_id=1和3?是的……我用我正在寻找的结果表编辑了我的问题,希望这能澄清一些事情…@red温室:你的评论就是我的答案?啊,我明白了,一次编辑一个?A和B是指表A和B吗?我不清楚一件事:A.id=2表示复选框未选中。如果传递的唯一值是1和3,有没有办法告诉表找到“缺少”的值并删除该行?是的,a.id不在(1,3)
DELETE A,B 
FROM A
LEFT JOIN B
ON B.table_a_id = A.id
WHERE A.id NOT IN (1,3)
DELETE 
FROM TableB 
WHERE (NOT table_a_id IN (1, 3)) 
    AND (table_c_id = 2)