2016-07-25 11 views
0

Ich habe eine sehr große Datenbank mit einem eindeutigen Schlüssel form_id und viele andere Informationen. Einige, wie einige der Auswertungen in die Datenbank mit einem Leerzeichen vor dem Supervisor_Name (dh 'Test Test' vs 'Test Test') gebracht wurden, so dass es Suchresultate des gleichen Supervisors in zwei Kategorien durcheinanderbringt Form erlaubt dies). Was wäre das MYSQL, um diese Tausende von Formularen zu aktualisieren? Ich weiß, dass ich anfangen würde, alle Form Ids zu ziehen und dann durch diese Schleife zu gehen, aber wie würde der UPDATE-Code aussehen und was würde nur den Anfangsraum loswerden und keine Buchstaben eines beliebigen Namens löschen?Große Datenbank benötigt Abgleich

Antwort

3
UPDATE yourTable 
SET supervisor_name = SUBSTRING(supervisor_name, 2) 
WHERE supervisor_name LIKE ' %' 

oder wenn Sie sich auf LIKE paranoid sind, dann könnten Sie auch das erste Zeichen aus der supervisor_name Spalte explizit überprüfen:

UPDATE yourTable 
SET supervisor_name = SUBSTRING(supervisor_name, 2) 
WHERE SUBSTRING(supervisor_name, 1, 1) = ' ' 
Verwandte Themen