2016-10-13 30 views
0

我使用MYSQL和有一个表“中标”,这有重复的条目到它 我的表架构是使用ALTER和MySQL中忽略删除重复

ITEM_CODE | int(11)  | YES |  | NULL |  | 
| Max_BidP | int(11)  | YES |  | NULL |  | 
| Seller_Name | varchar(45) | YES |  | NULL |  | 
| Buyer_Name | varchar(45) | YES |  | NULL |  | 
| ITEM_NAME | varchar(45) | YES |  | NULL |  | 
| Qty   | int(11)  | YES |  | 1  |  | 
+-------------+-------------+------+-----+---------+-------+ 

一个表中的条目

16 |  30 | sahraw  | sahraw  | J.K Rowling | 1 | 
16 |  30 | sahraw  | sahraw  | J.K Rowling | 1 | 

我试图删除dulicates,我指定查询是

ALTER IGNORE TABLE bid ADD UNIQUE INDEX (ITEM_CODE , Max_BidP ,Seller_Name , Buyer_Name , ITEM_NAME , Qty); 

但它给了我一个错误

你的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“忽略表中标ADD UNIQUE INDEX(ITEM_CODE,Max_BidP,Seller_Nam”在行1点

任何建议,我要去的地方错了正确的语法手册。

由于

+0

什么版本的mysql? “IGNORE”从5.7.4中删除,也许早些时候 – SlimsGhost

回答

0

请检查您所使用的MySQL版本。

在MySQL 5.7.4中,为ALTER TABLE将忽略条款被删除,它的使用产生错误。 http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

+0

使用5.7.15。是否有其他方法可以在更高版本中处理此重复情况 – maverick

+0

对于更高版本,可以先删除重复行,然后创建索引 –