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)