Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Daten in mySQL-Datenbank mit sql stapelweise ändern





Frage

Ich habe eine Datenbank in der mehrere Tabellen drin sind, wobei ziehmlich viele Datensätze etwas entstellt sind, und zwar sind hier die deutschen Umlaute falsch importiert worden. Ich könnte jetzt alle Datensätze durchgehen und die änder, aber bei 5000 Sätzen hört der Spaß auf. Gibt es eine Methode die Zeichen per SQL wieder richtig zu stellen?

Antwort 1 von son_quatsch

Mehrere Möglichkeiten gibt es:
- nochmal importieren, diesmal auf Codepages achten
- Ausgabe entsprechend umstellen, dann ist egal, wie es in den Tabellen steht
- UPDATE tabelle SET spalte= REPLACE(spalte, 'é', ö');

Antwort 2 von DixiDix

Kenne mich da leider nicht so aus. Sehe ich das richtig, ich muss dies Angaben einfach in das SQL-Fenster (hier myphpadmin) eingeben

UPDATE `<meinetabelle>` SET `<spalte>` = REPLACE (`<spalte>`, 'é', ö');

Muss da nicht noch was rein:

SELECT * FROM `<meinetabelle>` WHERE 1`<spalte>`

oder wie muss der Befehl lauten?

Antwort 3 von son_quatsch

Nein, da muss nicht noch was rein. Es reicht (auch ohne Accent Graves) das Kommando

UPDATE <meinetabelle> SET <spalte> = REPLACE (<spalte>, 'é', ö');


...wobei é und ö nur eine Beispielkombination sind. Welche Zeichen mit welchen ersetzt werden sollen, musst du selbst herausfinden. Und dann auch pro zu ersetzendem Zeichen ausführen ;-)

Antwort 4 von DixiDix

Ah ja das geht, und ginge das auf einen Rutsch auch auf die ganze Datenbank anzuwenden?

Antwort 5 von son_quatsch

Nein, nur pro Tabelle. Du kannst aber mehrere Kommandos auf einmal ausführen - statt das jeweils vorherige immer wieder abzuändern. Also z.B.:

UPDATE <meinetabelle1> SET <spalte1> = REPLACE (<spalte1>, 'é', ö'), <spalte2> = REPLACE (<spalte2>, 'é', ö'), <spalte3> = REPLACE (<spalte3>, 'é', ö');
UPDATE <meinetabelle2> SET <spalte> = REPLACE (<spalte>, 'û, ü');
UPDATE <meinetabelle3> SET <spalte3> = REPLACE (<spalte3>, '~', ß');

Antwort 6 von DixiDix

Danke, hat geholfen

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: