2013-02-21 3 views
0

База данных пользователя имеет имена пользователей с именем «?» заканчивающийся на имя. Например, имя пользователя: «Алекс?» Вместо того, чтобы удалять его, я пытаюсь заменить это "?" с «2», чтобы избежать дублирования записей. Проблема в том, что есть все еще повторяющиеся записи, даже с 2 в конце. Мне нужен запрос, который автоматически изменяет 2 до 3,4,5,6,7,8 или 9, пока не будет обнаружена дублирующаяся запись. Я делал это вручную до сих пор, но, честно говоря, я изменил более 200 строк, и, я думаю, их больше 1000.MySQL Query - избегать дублирования ввода

Некоторые идеи?

Запросов я использую:

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

ответ

0

я не знаком синтаксис обновления MySQL в деталях, но если таблица «userdatabase» имеют уникальный столбец ID может быть возможно что-то подобное

replace(username, "?", (select count(*) from userdatabase db where db.username = username and db.id < id)) 
Смежные вопросы