ugrás a tartalomhoz

MySQL: egy tábla mezőneveinek lekérdezése

kalamona · 2006. Szep. 16. (Szo), 14.28
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:
DESCRIBE tabla;
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:
SELECT field FROM (DESCRIBE tabla);
ez sem megy:

CREATE VIEW mezonevek AS DESCRIBE tabla;
SELECT field FROM mezonevek;
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?
 
1

information_schema

Bártházi András · 2006. Szep. 16. (Szo), 20.15
Használd az 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 a describe-bal.

Azzal ne gyere, hogy ezt nem kínálja a szolgáltatód, mert ha nem tetszik, lehet váltani. :)
2

PHP lesz egyelőre

kalamona · 2006. Szep. 16. (Szo), 22.46
Fene se hitte volna, hogy egy ilyen apróság nem megy zökkenőmentesen.:)

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
The implementation for the INFORMATION_SCHEMA table structures in MySQL follows the ANSI/ISO SQL:2003 standard Part 11 Schemata. Our intent is approximate compliance with SQL:2003 core feature F021 Basic information schema.