2013-02-21 7 views
0

Userdatabase에는 "?"이있는 사용자 이름이 있습니다. 이름으로 끝나는. 예를 들어 username : "Alex?" 삭제하는 대신이 대신 "?" 중복 된 항목을 피하기 위해 "2"를 사용하십시오. 문제는 끝에 2 개가 있어도 여전히 중복 된 항목이 있다는 것입니다. 중복 항목이 더 이상 존재하지 않을 때까지 자동으로 2에서 3,4,5,6,7,8 또는 9로 변경되는 쿼리가 필요합니다. 지금까지 수동으로이 작업을하고 있었지만 솔직히 200 라인 이상을 바꿨으며 1000 개가 넘을 것으로 추측됩니다.MySQL 쿼리 - 중복 항목 방지

몇 가지 아이디어가 있습니까?

쿼리 내가 사용

UPDATE `userdatabase` 
SET `username` = replace(`username`, "?","2") 

답변

0

내가 자세히 익숙한 MySQL의 업데이트 구문 아니지만, 테이블 "사용자 데이터베이스가"고유 ID 열이있는 경우 그

replace(username, "?", (select count(*) from userdatabase db where db.username = username and db.id < id)) 
같은 수 있습니다 뭔가 할 수있다