我想尝试使用OuterJoin找出表中的重复项:如果一个表有PrimaryIndexID,那么下面的外连接可以找出重名:mysql>select*fromgifts;+--------+------------+-----------------+---------------------+|giftID|name|filename|effectiveTime|+--------+------------+-----------------+---------------------+|2|teddybear|bear.jpg|2010-04-2404:36:03||3|coffee|
我正在使用mysqldump(a)转储一个表,然后(b)将它插入到别处。当我尝试执行(b)部分时出现问题。这是我得到的错误。键“PRIMARY”的重复条目“1”现在,坚持,坚持。我知道我没有插入重复的主键....我检查了CREATETABLE语句。id字段上的auto_incremement保留为id列的最大值:AUTO_INCREMENT=45634650。我认为问题在于,如果您尝试插入id值小于auto_increment指定值的任何行,MySQL将给出此错误....无论该id是否重复。我尝试从TABLECREATE语句中手动删除AUTO_INCREMENT。仍然是同样的错误。更新
我有一个表,其中的条形码列具有唯一索引。数据已在每个条形码的末尾加载了额外的字符(-xx)以防止重复,但是一旦我去掉后缀就会有很多重复项。这是数据示例:itemnumberbarcode179122-14180822-1218702-10292192-8然后我创建了两个临时表,marty和manny,它们都包含商品编号和精简的条形码。所以,两个表都包含itemnumberbarcode179122180822218702292192等等然后我尝试删除除marty表中条码为“2”的第一个条目(以及所有其他条码)以外的所有条目。然后我希望用正确的第一个条目更新原始表,用户可以在应用程序中及
我有以下结构的表:表1|ID1|NAME|GROUP_ID|-------------------------|1|AAA|101||2|A_A|101||3|BBB|0||4|CCC|103||5|C_C|103||6|DDD|0||7|EEE|0||8|FFF|0||9|GGG|0||10|HHH|104||11|H_H|104|表2|ID2|NAME|--------------|1|AAA||2|BBB||3|C_C|群组|GROUP_ID|NAME|-------------------|101|AAA||101|A_A||103|CCC||103|C_C||104|HHH|
我搜索了StackOverflow,但找不到我的具体问题的答案。最近我非常喜欢用列表更新记录,使用“INSERTINTO...ONDUPLICATEKEYUPDATE”。但是,我遇到了以下查询的问题:INSERTINTOitens(prod_id,qtd)VALUES(410,1),(442,-1)ONDUPLICATEKEYUPDATEqtd=qtd+VALUES(qtd)这导致错误:“无法添加或更新子行:外键约束失败。”这是有问题的表的结构。“carrinho_id”是一个外键。我对我没有尝试使用外键做任何事情这一事实感到困惑。我只是想更新数量。CREATETABLEIFNOTEX
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:howtodeleteduplicaterowsfromatableinmysql我有一个简单的请求,它正在变成一场噩梦。我有一个包含两列ID(int)和Value(varchar(100))的表“MyTableA”该表有一些值,如下所示:ID|Value1|Apple2|Apple3|Apple只要值重复,我就想保留第一个ID行并删除其余行。所以在上面的例子中我想删除ID为2和3的行。我以为这很简单,但这可能是因为我正在使用SQLhaving子句。谢谢!
我想做的是增加第4列的值,如果它不存在,当一行有col0=valuecol0ANDcol2=valuecol2在表中。否则,我当然想插入该行。INSERTINTOtablename(col0,col1,col2,col3)VALUES(valuecol0,valuecol1,valuecol2,valuecol3)ONDUPLICATEKEYUPDATEcol3=col3+VALUES(col3);无论如何,我不知道应该如何在表中设置索引,我阅读了文档中的页面here但这没什么用。所以我尝试了所有四种可能的组合,但没有一个有效!我哪里失败了? 最佳答案
我的购物车表格有问题。我创建了一个如下所示的表格:SQLFiddle我的问题是我希望能够选择产品ID,并计算该产品ID在表格中重复的次数,以便我可以显示用户在购物车中拥有的商品数量。寻找如下所示的输出结果:|user_id|product_id|numofprodcuts|-----------------------------------------|12|43|3||12|51|1||21|39|2||17|41|1|所以我想选择product_id并在单个查询中对其进行计数,但我不知道这是如何完成的,因此非常感谢您的帮助。 最佳答案
我只想从表中返回重复的记录。在我的例子中,如果不止一条记录在col1、col2、col3和col4中具有相同的值,则一条记录是重复的。 最佳答案 SELECTcol1,col2,col3,col4,COUNT(*)AScntFROMyourTableGROUPBYcol1,col2,col3,col4HAVINGCOUNT(*)>1如果你想显示额外的列,你可以JOIN上面的表格:SELECTt.*,dup.cntFROMyourTabletJOIN(SELECTcol1,col2,col3,col4,COUNT(*)AScntFRO
这个问题在这里已经有了答案:Howtopreventduplicateusernameswhenpeopleregister?(4个答案)关闭去年。为了防止将重复的用户名输入数据库并通知用户,插入时使用异常捕获还是插入前选择查询更标准/更喜欢?异常捕获:如果我尝试插入用户输入并且用户名已经存在,则SQL数据库将抛出一个违反主键约束的异常。如果发生这种情况,我可以捕获它并做任何事情。选择查询:如果它返回与用户名匹配的任何元组,那么我就不会为插入而烦恼。然后我可以显示错误消息。我想在这里使用异常的主要优点是查询和行数更少(速度更快?)。但是,我认为这不是特例,因为重复项可能经常出现。