, ,
:
, . , .
CREATE TABLE new_test (field1 INTEGER, field2 INTEGER);
INSERT INTO new_test(field1,field2) SELECT DISTINCT field1,field2 FROM test;
DROP TABLE test;
RENAME TABLE new_test test;
, , >, . , :
:
ALTER TABLE t2 ADD COLUMN (pk INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY(pk));
In any case, now you can make an independent connection and save MIN (pk):
Merge and delete duplicates:
mysql> DELETE dups.* FROM t2 AS dups
INNER JOIN (
SELECT field1,field2,MIN(pk) as MPK FROM t2
GROUP BY field1,field2 HAVING COUNT(*) > 1 ) AS keep
ON keep.field1=dups.field1
AND keep.field2=dups.field2
AND keep.MPK <> dups.pk;
source
share