1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

"SHOW COLUMNS" in pgsql

  • maciek
  • 6. September 2005 um 21:09
  • Unerledigt
  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 6. September 2005 um 21:09
    • #1

    Hi Zusammen,

    Ich hab mir eine ziemlich komplizierte Funktionalität basierend auf den Informationen, die ich mir über "SHOW COLUMNS FROM tableName" zurückliefern kann, aufgebaut. Genau genommen erfahre ich damit über jedes Feld, den Namen (Field), den Typ und die Länge (Type), obs null sein darf (Null), obs ein bestimmter Key ist (primary, unique, usw.)

    Jetzt möchte ich diese Funktionalität auch unter PostgreSQL benutzen können, scheitere aber. Ich hab mir eine Query zusammengebastelt, die mir in etwas diese Informationen liefert:

    PHP
    SELECT a.attname,
    format_type(a.atttypid, a.atttypmod) as type,
    p.typname, 
    p.typlen,
    p.typprtlen,
    a.attnotnull,
    a.atthasdef,
    a.attstorage,
    a.attnum
    FROM pg_class AS c, pg_attribute AS a, pg_type AS p
    WHERE c.relname = 'tableName'
    AND a.attnum > 0
    AND a.attrelid = c.oid
    AND p.oid = a.atttypid
    ORDER BY a.attnum
    Alles anzeigen


    Was ich damit nicht zurückbekommen kann, ist die Information über den Typ des Keys. Außerdem ist das ganze ziemlich kompliziert, weil die Typen der Felder in Postgres nicht mit denen von MySQL übereinstimmen und ich diese Information auch weiterverwende.

    Hat jemand von Euch eine Idee, wie man die Informationen, die "SHOW COLUMNS" zurückliefert, möglichst 1:1 in Postgres bekommen könnte? Am besten sollte auch der Typ möglichst in MySQL-Notation zurückgeliefert werden.

    Thanx 4 help.

    P.S.: Mit DB::tableInfo von PEAR komm ich nicht wirklich weiter, weil das in der Version, die am Server ist, irgendwie nicht funkt und ich die Version am Server nicht updaten kann.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • rck
    15
    rck
    Mitglied
    Reaktionen
    2
    Punkte
    2.342
    Beiträge
    437
    • 6. September 2005 um 21:31
    • #2
    Zitat von maciek

    Hat jemand von Euch eine Idee, wie man die Informationen, die "SHOW COLUMNS" zurückliefert, möglichst 1:1 in Postgres bekommen könnte? Am besten sollte auch der Typ möglichst in MySQL-Notation zurückgeliefert werden.

    Indem Du sie vorher in Tabellen tust. :winking_face:

    [ egapemoh eniem ] [ Korneuburg Community ] [ FB ] [ Xng ]

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 7. September 2005 um 08:24
    • #3
    Zitat von rck

    Indem Du sie vorher in Tabellen tust. :winking_face:


    erm ... ich steh auf der Leitung ... was soll ich vorher in Tabellen tun? Die Feldtypen, damit ich das matching machen kann? Das könnte ich schon tun, aber ich habe eigentlich gehofft, dass sich da jemand die Mühe schon gemacht hat. :winking_face: Und eigentlich würde da auch ein assoziatives Array reichen, nachdem es ja nicht so viele von denen gibt.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • rck
    15
    rck
    Mitglied
    Reaktionen
    2
    Punkte
    2.342
    Beiträge
    437
    • 12. September 2005 um 23:36
    • #4
    Zitat von maciek

    Die Feldtypen, damit ich das matching machen kann?

    Naja, alles was Du brauchst halt. Ist von der Portabilität her kaum zu schlagen...

    [ egapemoh eniem ] [ Korneuburg Community ] [ FB ] [ Xng ]

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung