php - SQL 删除连接 4

标签 php mysql pdo

我尝试了这个请求:

DELETE FROM user_tools AS UT
LEFT OUTER JOIN tools AS T ON UT.tool_id = T.id
WHERE UT.user_id = :user_id AND T.category = :category";

我的目标是从一个表中删除带有另一个表中联接的条件的记录。我尝试了几种解决方案但没有成功。你能帮忙吗?

(我使用 PDO,这就是为什么我在 where 子句中有 : ,但它与值相同。

谢谢

最佳答案

您需要指定要在联接中删除哪些表。您可以在关键字delete

之后执行此操作
DELETE UT
FROM user_tools AS UT
LEFT OUTER JOIN tools AS T ON UT.tool_id = T.id
WHERE UT.user_id = :user_id 
AND T.category = :category";

顺便说一句,您的条件 T.category = :category 将您的左联接 转换为内联接

关于php - SQL 删除连接 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36207201/

相关文章:

javascript - 防止 Bootstrap 模态在提交按钮后关闭

javascript - 如何在 JQuery 中获取所有元素并将它们作为数组发送

php - 为什么 phppgadmin 只显示 php 代码?

mysql - 如何在ERD模型中为产品创建类别?

php - pdo 使用通配符准备语句

pdo - Centos 8、PHP 7.2 和 MS SQL Server

PHP foreach循环遍历多维数组

javascript - Sequelize : findAll() include same models 2 times with different condition

python - InvalidRequestError : Ambiguous column name '***' in result set, 当请求对 mysqldb 有效时?

php - MySql - 如何将多个 WHERE 子句与 OR 一起使用