MySQL: Massenberarbeitung FLOAT --> DOUBLE
whine
- datenbank
Hallo zusammen,
ich habe eine DB-Struktur (MySQL) mit einigen recht großen Tabellen übernommen, bei denen fast alle Zahlenwerte in FLOAT definiert sind. Nun möchte ich ausnahmslos alle FLOAT in DOUBLE ändern und hätte mit
ALTER TABLE
messobjekt_tblCHANGE
groesse
groesseDOUBLE
viel Handarbeit. Kriege ich das pro Tabelle auch mit einem Statement hin?
Gruß
whine
Hi!
Nun möchte ich ausnahmslos alle FLOAT in DOUBLE ändern und hätte mit
ALTER TABLE
messobjekt_tblCHANGE
groessegroesse
DOUBLE
viel Handarbeit. Kriege ich das pro Tabelle auch mit einem Statement hin?
Ja, aber nicht ohne Handarbeit. Du kannst bei ALTER TABLE mit Komma getrennt mehrere alter_specification (CHANGE [COLUMN] ...) angeben.
Lo!
Ja, aber nicht ohne Handarbeit.
Mit etwas Excel war es gar nicht so schlimm :) Danke!
Hi!
Ich hab grad kein mySQL zur Hand, aber wenn Du mutig bist sollte es per query gehen. Ich bilde mir ein, die noetigen Table definitions liegen in information_schema.columns:
SELECT *
FROM information_schema.columns
WHERE table_schema='dbname' and table_name='tblname';
Das ist natuerlich kein Ort an dem man normalerweise rumspielen sollte. Ich nutze die Table Definitions z.B. um meinen Programmen mitzuteilen, welche Daten die 120 Felder der Tabelle so erwarten. Manuell geb ich die sicher nicht ein, und eine neue Tabelle ist mit ner SQL Abfrage schnell implementiert.