MySQL: egy tábla mezőneveinek lekérdezése
Sziasztok!
Röhögjetek ki, de nem tudom megoldani, hogy megkapjam egy adott tábla mezőinek neveit.
Oké, ez még működik:viszont sem ebből, sem más bűvészkedésből (pl show columns) nem tudom megoldani, hogy csak bizonyos oszlopot kapjak vissza. (mint select-nél ahol megmondom hogy mit szelektáljon ki a táblábol)
ez nem megy:ez sem megy:Hogyan kell egy ilyet megoldani sql-ben egyáltalán? Hogyan kaphatom meg egy lekérdezés eredményeképpen létrejött "virtuális tábla" adott oszlopára való hivatkozást?
■ Röhögjetek ki, de nem tudom megoldani, hogy megkapjam egy adott tábla mezőinek neveit.
Oké, ez még működik:
DESCRIBE tabla;
ez nem megy:
SELECT field FROM (DESCRIBE tabla);
CREATE VIEW mezonevek AS DESCRIBE tabla;
SELECT field FROM mezonevek;
information_schema
information_schema
virtuális adatbázist! Lehet, hogy csak MySQL 5.0-tól van? Doksi.A másik lehetőség meg, hogy nem SQL szinten szűröd ki, hanem a lekérdezés után. Persze pont ennek a korlátai miatt lett bevezetve az
information_schema
, mely valódi SQL lekérdezésnek minősül, szemben adescribe
-bal.Azzal ne gyere, hogy ezt nem kínálja a szolgáltatód, mert ha nem tetszik, lehet váltani. :)
PHP lesz egyelőre
Köszi, nagyon jó dolog a schema (megint tanultam valamit), de tényleg nem jellemző, hogy támogatnák. Úgyhogy marad a PHP egyelőre.
Mennyire elterjedt megoldás az
information_schema
, melyik adatbáziskezelő támogatja? Ugyanis úgy néz ki, nem tehetem meg, hogy hogy egy db kezelőre legyen felkészülve az oldalam. Azt irták