Php mysqli 如果重复则删除完整的行

Php mysqli remove complete row if duplicate

我以前从未遇到过查询问题,但我就是无法让它工作。我有 2 个表,一个叫 items_sale,另一个叫 item_list。我的表单有一个下拉菜单,可以从 item_list.

中获取所有项目

我需要做的是阻止下拉列表中已经在 items_sale 列表中的任何项目 + user_id = 当前用户的 ID。

例如,我有商品 2 和 5 待售,这意味着商品 2 和 5 不应显示在下拉菜单中。

我环顾四周,找到了添加 DISTINCT 和 UNION 等解决方案,但我似乎无法删除整行。例如 DISTINCT 只是删除了 1 个值并保留了另一个值。

items_sale: item_list:

我要做的第一件事是将用户出售的所有商品放入数组中,然后从不在数组中的商品 table 中提取所有商品。

<?php
    $conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

    $currentUser = '1234';

    $items = $conn->query("SELECT * FROM item_list WHERE item_ID NOT IN (SELECT item_id FROM items_sale WHERE user_id = '$currentUser')");

编辑:更改为子查询而不是两个单独的查询