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

标签 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        |

但是下次用户进行编辑时,他们会取消选中“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 和 Foreign key ON DELETE CASCADE,更简单:)

关于php - MySQL,php 表问题(更新时删除),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766615/

相关文章:

MySQL正则表达式用于排除字符串

php - 使用 mysqli 和 oops 创建数据库并在数据库中插入值

php - Laravel 5.2 - 将值插入用户列不起作用

php - Node.js 单独使用或作为其他服务器工具的伴侣

php - 无法在ubuntu上执行mysql插入

java - Jetty JDBCLoginService 基于角色的访问不起作用

php - 寻找用于添加/编辑标签的 PHP/Ajax/MySQL 代码片段 - 与 stackOverflow 相同

php - Doctrine 可以定义 MySQL 的 Generated 列吗?

java - Android 显示来自相互链接表的 PHP 的数据

javascript - 使用动态 DOM 通过 keyup 将 .val 添加到右侧输入