NoahsRaven
New Member
hi,
habe mir, um in einer Datenbank Umlautprobleme bei Ortsnamen zu beheben, folgenden Befehl (Auszug) zusammengebaut:
mysql> UPDATE `stack01` SET
-> `Ort`= REPLACE(`Ort`, "Zweibr?n", "Zweibrücken"),
-> `Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz"),
-> `Ort`= REPLACE(`Ort`, "m?ngen", "Mömlingen"),
-> `Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen");
Query OK, 0 rows affected (0.13 sec)
Rows matched: 30440 Changed: 0 Warnings: 0
funktioniert soweit einwandfrei wie man sieht.
Da z.B.: m?ngen aber nicht immer Mömlingen heist, sondern auch mal Möglingen, habe ich versucht dies mit einer WHERE Klausel PLZ-abhängig zu machen.
Also z.b.:
UPDATE `stack01` SET
`Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '71696';
Dies funktioniert auch solange ich nur eine Zeile habe.
Versuche ich wie oben mehrere Zeilen auf einmal zu bearbeiten z.B. durch:
UPDATE `stack01` SET
`Ort`= REPLACE(`Ort`, "Zweibr?n", "Zweibrücken") WHERE `Ort` = 'Zweibr?n' AND `PLZ` = '66482',
`Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz") WHERE `Ort` = 'Zw?z' AND `PLZ` = '08297',
`Ort`= REPLACE(`Ort`, "m?ngen", "Mömlingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '63853',
`Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '71696';
erhalte ich diesen Fehler:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz") WHERE `Ort` = 'Zw?z' AND `PLZ` = '082' at line 2
die WHERE Klausel scheint zu verhindern mehrere Zeilen mit einem mal abarbeiten zu können bzw. mag das/den Komma/Zeilenumbruch nicht oder ich finde den Fehler nicht .
Windows Server 2012 mit MySQL 5.6.
Kann jemand helfen?
MFG Noah's Raven
habe mir, um in einer Datenbank Umlautprobleme bei Ortsnamen zu beheben, folgenden Befehl (Auszug) zusammengebaut:
mysql> UPDATE `stack01` SET
-> `Ort`= REPLACE(`Ort`, "Zweibr?n", "Zweibrücken"),
-> `Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz"),
-> `Ort`= REPLACE(`Ort`, "m?ngen", "Mömlingen"),
-> `Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen");
Query OK, 0 rows affected (0.13 sec)
Rows matched: 30440 Changed: 0 Warnings: 0
funktioniert soweit einwandfrei wie man sieht.
Da z.B.: m?ngen aber nicht immer Mömlingen heist, sondern auch mal Möglingen, habe ich versucht dies mit einer WHERE Klausel PLZ-abhängig zu machen.
Also z.b.:
UPDATE `stack01` SET
`Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '71696';
Dies funktioniert auch solange ich nur eine Zeile habe.
Versuche ich wie oben mehrere Zeilen auf einmal zu bearbeiten z.B. durch:
UPDATE `stack01` SET
`Ort`= REPLACE(`Ort`, "Zweibr?n", "Zweibrücken") WHERE `Ort` = 'Zweibr?n' AND `PLZ` = '66482',
`Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz") WHERE `Ort` = 'Zw?z' AND `PLZ` = '08297',
`Ort`= REPLACE(`Ort`, "m?ngen", "Mömlingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '63853',
`Ort`= REPLACE(`Ort`, "m?ngen", "Möglingen") WHERE `Ort` = 'm?ngen' AND `PLZ` = '71696';
erhalte ich diesen Fehler:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Ort`= REPLACE(`Ort`, "Zw?z", "Zwönitz") WHERE `Ort` = 'Zw?z' AND `PLZ` = '082' at line 2
die WHERE Klausel scheint zu verhindern mehrere Zeilen mit einem mal abarbeiten zu können bzw. mag das/den Komma/Zeilenumbruch nicht oder ich finde den Fehler nicht .
Windows Server 2012 mit MySQL 5.6.
Kann jemand helfen?
MFG Noah's Raven