[英]MySQL, php table question (delete on an update)
我有以下两个表格
table A
| id | name |
| 1 | bob |
| 2 | jill |
| 3 | jojo |
表 A 使用复选框显示。
在第一个 go 上,用户选中所有三个复选框,以便您在表 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 A,B
FROM A
LEFT JOIN B
ON B.table_a_id = A.id
WHERE A.id NOT IN (1,3)
或者使用带有外键的 InnoDB ON DELETE CASCADE
,更简单:)
DELETE
FROM TableB
WHERE (NOT table_a_id IN (1, 3))
AND (table_c_id = 2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.