PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [MySQL/PHP] mysql_fetch_field()



ExRevel
15.09.2005, 16:52
Hi...

so, auch wenn es was mit PHP zu tun hat denke ich das wir mit dem Thema im Bereich Datenbanken besser aufgehoben sind. :)
Ich beziehe mit mysql_fetch_field() Informationen zu diversen Feldern einer MySQL Tabelle, diese Felder erfrage ich mit zwei unterschiedlichen Selects.


SELECT * FROM serie, serie_lang WHERE 1 LIMIT 1

und mit dem folgenden:


SELECT serie.*, serie_lang.* FROM serie LEFT JOIN serie_lang ON serie_lang.serie_id = serie.id AND serie_lang.record_language='DE' WHERE serie.id='1'

Im Endeffekt bekomme ich damit identische Ergebnisse und vorallem natürlich die gleichen Feder, logisch gell. :) Nun erfrage ich mit der mysql_fetch_field Funktion folgende Daten: Name, Tabellenname des Feldes und not_null, liefert 1 zurück, wenn das Feld nicht NULL sein kann.

Bei beiden Selects sind die Werte von Name und Tabellenname absolut gleich, doch die Werte für not_null unterscheiden sich. Bei dem Select der ein JOIN verwendet haben angeblich nur 10% der Felder die es haben sollen das besagte Attribut gesetzt gebkommen.

Liegt es am DBMS, am PHP, hat jemand Erfahrungen damit gemacht, ich wäre sehr dankbar.

Mfg

ExRevel

lordlamer
15.09.2005, 18:43
Hi,

also ich kann dir sagen das es am Join liegt. Da gabs was besonderes mit null und not null und joins. das liegt weder an php oder an der db. es liegt am select und an dir. ist denke ich nen denkfehler bzw absicht von der db. musst dir mal joins nochmal genauer angucken.

mfg frank

ExRevel
15.09.2005, 19:46
Ich habs befürchtet :) Nagut, ich schau noch mal nach, vllt. steht was gescheites in der MySQL Doku.

ciao Exi