Wie bekomme ich die CREATE-Befehle in eine Tabelle

Von: , Frage gestellt am Mi, 2. Nov 2011
Hi,

SHOW CREATE TABLE tab;

zeigt mir den Create-Befehl, ich möchte ihn aber in ein Feld einer Tabelle eintragen. Oder wenigstens in eine Variable.

Gibt es in MySQL eine Möglichkeit?

Gruß Fralang

50 Antworten zu dieser Frage

  1. Antwort von nach 20 Stunden 0 hilfreich
    Re: Wie bekomme ich die CREATE-Befehle in eine Tab
    Moin, Fralang,

    Du weißt aber schon, wie man einer Variablen einen String zuweist, oder?

    Gruß Ralf
    Ssen
    Passend zu diesem Artikel haben wir auf MyVideo das Video "Ssen" gefunden.

    Weitere passende Videos:
    Reit die Htte ab.
    my male stars
    Moin moin

    • Antwort von (abgemeldet) nach 20 Stunden 0 hilfreich
      Re^2: Wie bekomme ich die CREATE-Befehle in eine T
      Moin moin, Du weißt aber schon, wie man einer Variablen einen String
      zuweist, oder?
      Dann zeig mal wie das bei SHOW ... sachen gehen soll.

      SET @meinevar := SHOW CREATE TABLE tabelle


      geht nicht .
      • Antwort von nach 23 Stunden 0 hilfreich
        Re^3: Wie bekomme ich die CREATE-Befehle in eine T
        Hi, Dann zeig mal wie das bei SHOW ... sachen gehen soll.
        ich hätte fast schon eine Lösung gehabt: backups in ein File und dann:

        LOAD DATA INFILE 'c:\\myFile' INTO TABLE tab;

        das funktioniert, er lädt alles, was in dem File steht in ein Feld, je nach Einstellung, aber leeeeider geht das bei MySQL nicht in stored procedures.

        Das wäre aber mein Anwendungszweck. In einer Prozedur möchte ich Adaptierungen der Tabellen durchführen.

        Gruß Fralang
        • Antwort von (abgemeldet) nach einem Tag 0 hilfreich
          Re^4: Wie bekomme ich die CREATE-Befehle in eine T
          das problem mit meta daten :-)
          • Antwort von (abgemeldet) nach 3 Tagen 0 hilfreich
            Re^5: Wie bekomme ich die CREATE-Befehle in eine T
            Du könntest natürlich auch die Infromations Schema Tabelle nehmen und dir dann dein create zusammen basteln. Denn SHOW nimmt ja auch nur die Werte aus daher :-)
            • Antwort von nach 3 Tagen 0 hilfreich
              Re^7: Wie bekomme ich die CREATE-Befehle in eine T
              Hi Thomas,

              ja, das ist die Idee:

              mit INFORMATION SCHEMA COLUMNS krieg ich alles und kann daraus einen neuen CREATE (bzw. einen ALTER TABLE) zusmmensetzen. Ich hab jetzt auch gesehen, mit dem INFORMAION SCHEMA ROUTINES bekommt man auch die Pozeduren und Funktionen, die muss ich natürlich auch anpassen.

              Ich hatte jetzt vor, ein Backup zu machen und darin mit einem externen Programm die Aenderungen durchzuführen, dann als Script wieder zu laden und auszuführen.

              Worum´s geht, sag ich auch: Mehrsprachigkeit. Zur deutschen Version sollen beliebe Sprachen zur gleichzeitigen Benutzung kommen, etwa englisch und chinesisch. Zeichensätze kann man nur pro Spalte angeben, daher eine Spalte pro Sprache für jedes Textfeld. Diese Felder generiere ich dann automatisch. Die Prozeduren liefern dann mit SELECT ... WHEN ... das Feld in der jeweils gewünschten Sprache.

              Ja, super, ich danke dir herzlichst,
              Franz
            • Antwort von (abgemeldet) nach 4 Tagen 0 hilfreich
              Re^8: Wie bekomme ich die CREATE-Befehle in eine T
              Moin moin, nur pro Spalte angeben, daher eine Spalte pro Sprache für
              jedes Textfeld. Diese Felder generiere ich dann automatisch.
              ich hätte einfach pro sprache dann eine tabelle jeweils gleichem index .

              Auf meta daten sollte man einfach nicht zugreifen müssen :-)

              Aber wenns funktioniert ist es ok , aber nicht wundern wenn der Lehrer dennoch eine schlechte note vergiebt :-) . Optimierung kommt dann halt später .
            • Antwort von (abgemeldet) nach 4 Tagen 0 hilfreich
              Re^9: Wie bekomme ich die CREATE-Befehle in eine T
              Moin moin, Auf meta daten sollte man einfach nicht zugreifen müssen :-)
              das will ich doch nochmal erklären.

              In einem unternehmen wo in abteilung X ein programm läuft was auf meta daten zugreift , hebelt jegliche sicherheit aus. Ich muss offt soviel rechte vergeben das abteilung X nun mehr sehen könnte. Damit ist dann auch schon ein Loch entstanden. Für den eigengebrauch ok. Aber als laufendes Programm sollte man so wenig zugriffsrechte wie möglich brauchen. Nicht das man mit Server-Root einloggen muss , wo eigentlich nur ein arbeiter seine arbeit tun soll (mehrsprachiger übersetzer) :-)



              -)


Keine passende Antwort gefunden? Jetzt eigene Frage stellen!