4 messages in com.mysql.lists.mysql-deCollate ändern| From | Sent On | Attachments |
|---|---|---|
| Tim Hildebrandt | 20 May 2006 11:56 | |
| Michael Ruge | 21 May 2006 04:57 | |
| Georg Richter | 21 May 2006 06:15 | |
| Ulrich Kretschmer | 21 May 2006 08:39 |
| Subject: | Collate ändern![]() |
|---|---|
| From: | Tim Hildebrandt (TCon...@gmx.net) |
| Date: | 05/20/2006 11:56:47 AM |
| List: | com.mysql.lists.mysql-de |
Hallo zusammen,
ich hatte hier mal vor einiger Zeit das Problem, dass eine Grundinstallation von MySQL 4.1 auf der Standardsprache Schwedisch stehen geblieben ist und nach einem Datenimport aus der 3er Version sämtliche Tabellen und Textspalten das COLLATE "latin1_swedish_ci" besaßen, was bei manuellen Abfragen im phpMyAdmin zu argen Problemen geführ hatte.
Ich hatte jetzt mal Zeit, mit ein kleines Skript zu schreiben, das mit mittels
SHOW CREATE TABLE
alle Parameter der Tabelle auswirft und bei allen Textspalten (VARCHAR, CHAR, TEXT) das COLLATE ändert.
Dazu verwende ich die Syntax
ALTER TABLE `meinetabelle` CHANGE `projektname` `projektname` varchar(40) collate latin1_general_ci NOT NULL, CHANGE `steuergegenstand` `steuergegenstand` varchar(40) collate latin1_general_ci NOT NULL, CHANGE `language` `language` char(2) collate latin1_general_ci NOT NULL;
Dummerweise beziehen sich die einzelnen Befehle auf mehr als 110 Tabellen und ich denke nicht, dass es möglich ist, alle Anweisungen zu kopieren und einfach in den MySQL-Promt zu kopieren. Daher möchte ich gerne eine Datei erstellen, die dann vom MySQL-Promt eingelesen und abgearbeitet wird. Aber: Wie geht das?
Über einen kleinen Tipp wäre ich dankbar!
Grüße Tim




