2013-02-21 4 views
0

La base de données Utilisateur a des noms d'utilisateur avec "?" se terminant par le nom. Par exemple, nom d'utilisateur: "Alex?" Au lieu de le supprimer, j'essaie de remplacer ce "?" avec un "2" pour éviter les doublons. Le problème est, il y a encore des entrées en double, même avec 2 à la fin. J'ai besoin d'une requête, qui change automatiquement les 2 à 3,4,5,6,7,8 ou 9 jusqu'à ce qu'il n'y ait plus d'entrée en double. Je le faisais manuellement jusqu'à maintenant, mais honnêtement, j'ai changé plus de 200 lignes et je suppose qu'il y en a plus de 1000.Requête MySQL - Éviter l'entrée en double

Quelques idées?

La requête que j'utilise:

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

Répondre

0

je ne suis pas la syntaxe familière de mise à jour de MySQL en détail, mais si la table "UserDatabase" ont la colonne d'identification unique peut être quelque chose possible comme ça

replace(username, "?", (select count(*) from userdatabase db where db.username = username and db.id < id)) 
Questions connexes