当前位置: 首页 > 知识库问答 >
问题:

如何删除mysql表中列值相同的某一行?

秦权
2023-03-14

我在MySQL中的查询有问题。我的表有4列,看起来如下所示:

id_users    id_product    quantity    date
 1              2              1       2013
 1              2              1       2013
 2              2              1       2013
 1              3              1       2013

id_usersid_product是来自不同表的外键。

我只想删除一行:

1     2     1    2013

它出现了两次,所以我只想删除它。

我尝试了以下查询:

delete from orders where id_users = 1 and id_product = 2

但它将删除这两个(因为它们是重复的)。有什么关于解决这个问题的提示吗?

共有2个答案

徐杰
2023-03-14

所有表都应该有一个主键(由一个或多个列组成),重复行在关系数据库中没有意义。您可以使用limit来限制删除行的数量,但是:

DELETE FROM orders WHERE id_users = 1 AND id_product = 2 LIMIT 1

但这只是解决了当前的问题,您肯定应该通过定义主键来解决更大的问题。

叶阳
2023-03-14

向删除查询添加限制

delete from orders 
where id_users = 1 and id_product = 2
limit 1
 类似资料:
  • 给定使用以下方式创建的表: 如何删除列?

  • 对于每个组A、B、C、D,每次组合y、z出现在组末尾时,我都想删除b列中的值z。 如果我们有 a==“C”的情况,其中 b 值是 y,z,z,z,z,我想删除所有 z。但是,在 a==“D” 中,由于 x 是最后一个值,因此无需更改任何内容。 结果如下所示: 通过在< code>dplyr中进行分组,我可以确定每个值在A中最后出现的位置,因此< code>a=="A"中描述的基本情况不成问题。对于

  • 我有这个,并且只需要列不是的记录: ...即。类似于的内容,以获取结果数据规则: 我该怎么做?

  • 问题内容: 在我的数据库中,我有一个具有递归关联的表(一个雇员可以是其他雇员的老板): 然后插入: 现在我在表中的行之间具有以下层次关系(所有者>老板>工人): 以下是表的Select语句: 现在,我想强加约束,如:。例如,如果我删除,则成为和的老板。 为此,我还编写了一个 触发器 ,如下所示: 但是当我执行一些删除时: 我在这里学到这是因为。 还有 其他可行的方法吗? 有可能使用吗?有人可以建议

  • 我有5张不同的表格。sheet3和sheet4我希望根据单个列单元格值删除行。在表3中,我希望根据H列单元格值删除行,如果h2=“#n/a”和h503=“#n/a”,则删除整个行。在表4中,如果b2=“320857876”、b3=“32085678”、b4=“12133435”删除b列单元格值以302开头的整个行,我希望根据b列单元格值删除行。我想删除'C'列中的所有数据我的excel表如下所示

  • 我使用Datatables将一些数据列在表中。我已经知道了如何在Datatables中使用delete行,但是我无法知道如何同时从MySQL数据库中进行delete。如果没有从中删除,刷新时将再次获得JSON文件,该文件将填充我的表。这是到目前为止我的代码:(我正在尝试获取按delete from的行的ID,将ID与数据库中的ID匹配,然后从数据库中删除该ID) 按下delete(删除)按钮时执行