INFORMATION_SCHEMA.Column bei MariaDB

Axel Ringwald

Neuer Benutzer
Beiträge
2
Hallo an alle. Ich habe ein kurioses Problem.

Wenn ich die Spaltennamen einer Tabelle in meiner Datenbank mit der SQL-Zeile

"SELECT column_name FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'tablename'"

abfrage, erhalte ich bei einigen Tabellen alle Spaltennamen (das ist korrekt und gewünscht). Leider klappt das nicht bei allen Tabellen so. Bei manchen Tabellen erhalte ich die Spaltennamen doppelt.

Kann mir jemand sagen woran das liegt?

Bitte keine Tipps zur Verwendung von "SHOW Columns". Ich muss die obere SQL-Zeile verwenden, da sie bei allen SQL-Datenbanksystemen funktioniert.
Mich interessiert lediglich wie es zu diesen Unterschiedlichen Anzeigen kommen kann.

Zur Information:
Ich verwende derzeit die MariaDB in Version 10.4 auf einem Windows10/11-System (64Bit). Alle Tabellen sind als InnoDB angelegt mit der gleichen Koalition.

LG Axel
 
Werbung:
Würde MySQL Schemas unterstützen, dann könnten tatsächlich in unterschiedlichen Schemas Tabellen mit demselben Namen sein und damit auch Spalten mehrfach auftauchen.

Aber so wohl nur, wenn gleiche Tabellen un untersch. Datenbanken sind.

Hilft Dir das weiter?
 
Code:
postgres=# create schema schema1;
CREATE SCHEMA
postgres=# create schema schema2;
CREATE SCHEMA
postgres=# create table schema1.tab1(id int, data text);
CREATE TABLE
postgres=# create table schema2.tab1(id int, data text);
CREATE TABLE
postgres=# select column_name from information_schema.columns where table_name = 'tab1';
 column_name 
-------------
 id
 id
 data
 data
(4 rows)

postgres=# 

postgres=# select table_schema, table_name, column_name from information_schema.columns where table_name = 'tab1';
 table_schema | table_name | column_name 
--------------+------------+-------------
 schema1      | tab1       | id
 schema2      | tab1       | id
 schema1      | tab1       | data
 schema2      | tab1       | data
(4 rows)

postgres=#
 
Ich habe den Fehler gefunden. Die MariaDB-Version 10.4.22 hat tatsächlich einen Bug. Ab Version 10.4.24 ist dieser Fehler behoben. Es funktioniert also jetzt fehlerfrei.

Danke für euer Bemühen
 
Werbung:
Zurück
Oben