whine: MySQL: Massenberarbeitung FLOAT --> DOUBLE

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_tblCHANGEgroesse groesseDOUBLE

viel Handarbeit. Kriege ich das pro Tabelle auch mit einem Statement hin?

Gruß
whine

  1. Hi!

    Nun möchte ich ausnahmslos alle FLOAT in DOUBLE ändern und hätte mit
    ALTER TABLE messobjekt_tblCHANGEgroesse groesseDOUBLE
    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!

    1. Ja, aber nicht ohne Handarbeit.

      Mit etwas Excel war es gar nicht so schlimm :) Danke!

  2. 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.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett