php - SQL 删除在数组 : 中找不到的标签

标签 php mysql sql

我有一个item 表、一个tags 表和一个item_tagged 表。

如果在数组中找不到某个项目,我想从数据库中删除行。

例如:

$array = 'john', 'game', 'nintendo';

项目 id 2 在数据库中有以下标签:

'john', 'game', 'wonderful'

所以“wonderful”应该从数据库中删除。

这个的 sql 是什么?

item: id, content

item_tagged: item_id, tag_id

tag: id, name

最佳答案

DELETE FROM `item` WHERE `content` NOT IN ('.implode("','",  $array).');

关于php - SQL 删除在数组 : 中找不到的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5969869/

相关文章:

sql - 在 postgres 中将 hh :mm:ss. ms 转换为毫秒

javascript - 使用 AJAX 的函数抛出 "Unexpected Token }",Chrome 控制台

php - 数据库总是接收相同的 ID

mysql - 如何将MySQL数据库拆分到多个主机,保留远程引用

mysql - isValid() 调用永远不会在 MySQL JDBC 连接上返回

sql - 数据库设计允许存储来自可能改变的外部关系的数据

php - MySQL 查询 - 选择不早于某个时间段的条目

php - SQL JOIN - 需要返回一个产品 ID,但返回其所有变体(例如尺寸、颜色)

php - 我应该使用 Queue 通过 3rd 方服务发送电子邮件吗

php - 使用通配符与窄 mysql 查询提取详细信息