Ankündigung

Einklappen
Keine Ankündigung bisher.

Das Attribut "NULL" aller Spalten ändern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Das Attribut "NULL" aller Spalten ändern

    Hallo liebe Community,

    ich scheitere leider an folgendem Problem:
    Ich möchte bei einer MySQL Tabelle für alle Spalten (= 217 Stück!) das Attribut "NULL" von derzeit "Default = 0" auf "Default = 1" ändern.
    Das müsste doch mit einem SQL Statement machbar sein.
    Wie könnte das aussehen?


  • #2
    Schau in die Kataloge (information_schema) und baue dynamisch den passenden Befehl. Eine Tabelle mit 217 Spalten ist ein starker Indiz auf ein kapottes Design.
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      mal als Demo:

      Code:
      test=*# \d gerd2
                     Table "public.gerd2"
       Column |  Type   | Collation | Nullable | Default
      --------+---------+-----------+----------+---------
       a      | integer |           |          | 0
       b      | integer |           |          | 0
       c      | integer |           |          | 0
      
      test=*# select 'alter table gerd2 alter column ' || column_name || ' set default 1' from information_schema.columns where table_name = 'gerd2' and column_default = '0'\gexec
      ALTER TABLE
      ALTER TABLE
      ALTER TABLE
      test=*# \d gerd2
                     Table "public.gerd2"
       Column |  Type   | Collation | Nullable | Default
      --------+---------+-----------+----------+---------
       a      | integer |           |          | 1
       b      | integer |           |          | 1
       c      | integer |           |          | 1
      
      test=*#
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar

      Lädt...
      X