mysql - SQL如何使用INNER JOIN从表中删除数据

标签 mysql phpmyadmin

我正在尝试删除表“oc_products”中没有特定类别 ID 的所有记录。我创建了一个使用 INNER JOIN 列出这些产品的 SELECT 查询,因为这些类别位于单独的表中。

我不知道如何使用 DELETE 函数删除显示的记录。

这就是我的代码:

DELETE oc_product
FROM oc_product
INNER JOIN oc_product_to_category ON oc_product.product_id = oc_product_to_category.product_id
WHERE oc_product_to_category.category_id = 343

它显示错误“意外的关键字,(靠近 INNER JOIN)”。

最佳答案

将 .* 添加到第一行的 p 中。

尝试:

DELETE p.* FROM oc_product p
INNER JOIN oc_product_to_category pc ON p.product_id = 
    pc.product_id
WHERE pc.category_id = 343

关于mysql - SQL如何使用INNER JOIN从表中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762299/

相关文章:

mysql - Drupal 6 数据库插入 : Strings are getting escaped

mysql - 在非常慢的服务器 2 上替代内连接

MySQL 不导入 .sql

mysql - 无法使用 phpMyAdmin 在关系 View 中设置关系

mysql - 应该为mysql中的网站数据库用户/客户端设置哪些权限

MySQL 从一个表查询 GROUPing,排除在另一个子查询中找到的结果

mysql - "count"中的高级条件查询

mysql - 如何正确构建这个查询?这是一个合适的 MySql 方案吗?

php - 临时目录不可访问 phpmyadmin

php - 如果用户输入 * 作为关键字,则显示表中的所有条目