내가 보이는 MySQL의 테이블을 건너 MySQL의 테이블에서 중복 데이터를 제거 같은 :
(UNIQUE_ID, uid_data1, uid_data2, sorting_data1, sorting_data2)두 개의 열
이 테이블은 양방향 관계가 weren 히 도구에 사용된다 지금까지는 지원되지 않으므로 표에 다음과 같은 데이터가 포함되어 있습니다 (위에 나열된 필드 순서) :
(1, 1212, 2034, 1)
(2, 2034, 1212, 1)
(3, 4567, 9876, 1,0)
(4, 9876, 4567, 0, 1)
표는 또한 "단일 관한"관계 (5가 5566은, 8899, 1, 9)
=> 더 행 (?, 8899, 5566, 9, 1)
존재하지
익스플로러 포함 이 도구는 이제 양방향/대칭 관계를 지원하므로 mysql 테이블에서 중복 데이터를 제거하고 싶습니다. 그러나이를 수행 할 적절한 쿼리를 찾는 데 어려움이 있습니다.
위의 예제에서 데이터는 이미 1과 3 행에 저장되어 있으므로 uids 2와 4가있는 행을 삭제하고 싶습니다.
먼저 SELECT 문을 설정하려고 시도했지만, 어떤 항목이 삭제됩니다.
내가
SELECT x.uid, x.uid_link1, x.uid_link2, y.uid_link1 as 'uid_link2', y.uid_link2 as 'uid_link1'
FROM tx_sdfilmbase_hilfstab x
INNER JOIN tx_sdfilmbase_hilfstab y ON x.uid_link1=y.uid_link2 AND x.uid_link2=y.uid_link1
WHERE ???
ORDER BY x.uid_link1, x.uid_link2
그러나 나는 레코드 만의 "절반 부분"를 선택 MySQL은 말할 필요 시점에 붙어 해요 가입하기 - 쿼리 생각했다.
하나를 이 작업을 수행하는 방법에 대한 제안?
추신 테이블이 수천 행 ;-) 그래서
이것은 구문 상 정확하지는 않지만'delete from tx_sdfilmbase_hilfstab where uid_link2 in (tx_sdfilmbase_hilfstab에서 uid_link1 선택)'이 작동 할 수도 있습니다 ... –
하지만 그럴 수도 있습니다. (2233, 1122),> (5566, 1122) => 여기서 (2233, 1122)와 (5566, 1122)는 모두 삭제되지만, 1122)은 (5566, 1122)에 이중 입력이 없으므로 삭제해야합니다. – Stefan