phpMyAdmin und WHERE 1
am 20.01.2008 11:18:52 von Ben Butschko
Moin,
ich habe mal ne Frage bzgl. phpMyAdmin:
Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
"SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
Kollege es mir in phpMyAdmin gezeigt hat) ?
Was soll den dieses WHERE 1? Klingt für mich unlogisch.
Hat es auswirkungen bei einfachen select-anweisungen ohne das man
bedingungen wie where, and etc. einbindet? ich denke wohl eher nicht.
Den DBVisualizer z. B. schreibt WHERE 1 nirgends rein noch habe ich so
eine WHERE Bedingung woanders gesehen oder geschrieben.
Für Aufklärung bedanke ich mich :-)
Netten GruÃ
Ben
Re: phpMyAdmin und WHERE 1
am 20.01.2008 11:47:30 von Claus Reibenstein
Ben Butschko schrieb:
> Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
> "SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
> Kollege es mir in phpMyAdmin gezeigt hat) ?
Ich weià auch nicht, warum phpMyAdmin "SELECT *" vorgibt. Ich vermute
mal, dass dies nur ein Template darstellen soll, in welchem man den "*"
durch seine eigene Auswahl ersetzen soll(te).
> Was soll den dieses WHERE 1?
Hierfür gilt Ãhnliches.
> Klingt für mich unlogisch.
"SELECT *" selektiert alle Spalten und "WHERE 1" alle Zeilen. Ohne
Veränderung wird also die gesamte Tabelle selektiert. Klingt für mich
logisch.
GruÃ. Claus
Re: phpMyAdmin und WHERE 1
am 20.01.2008 17:24:29 von Johannes Vogel
Hi Ben
Ben Butschko wrote:
> ich habe mal ne Frage bzgl. phpMyAdmin:
> Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
> "SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
> Kollege es mir in phpMyAdmin gezeigt hat) ?
> Was soll den dieses WHERE 1? Klingt für mich unlogisch.
> Hat es auswirkungen bei einfachen select-anweisungen ohne das man
> bedingungen wie where, and etc. einbindet? ich denke wohl eher nicht.
Manchmal ist es programmiertechnisch noch ganz praktisch, schon
vorgegeben zu haben, dass ein where existiert:
sql = "select ... from table where 1 ";
$sql.= (empty($searchA)) ? '' : "and fieldA like '$searchA%'";
$sql.= (empty($searchB)) ? '' : "and fieldB like '$searchB%'";
Hier wären die Anhängsel komplizierter, wenn where 1 nicht schon
vorhanden wäre.
HTH, Johannes
Re: phpMyAdmin und WHERE 1
am 20.01.2008 19:43:53 von Niels Braczek
Ben Butschko schrieb:
> Was soll den dieses WHERE 1? Klingt für mich unlogisch.
Technisch gesehen ist es völlig wirkungslos. Es bringt schlicht und
einfach den Komfort, dass das WHERE da schon steht und die Query
trotzdem syntaktisch in Ordnung ist.
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: phpMyAdmin und WHERE 1
am 21.01.2008 14:13:03 von Peter Blancke
Ad 2008-01-20, Johannes Vogel dixit:
> Ben Butschko wrote:
>> ich habe mal ne Frage bzgl. phpMyAdmin: Wieso schreibt phpMyAdmin
>> beim erstellen eines SQL-Befehls als Vorgabe "SELECT * FROM
>> 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
>> Kollege es mir in phpMyAdmin gezeigt hat) ? Was soll den dieses
>> WHERE 1? Klingt für mich unlogisch. Hat es auswirkungen bei
>> einfachen select-anweisungen ohne das man bedingungen wie where,
>> and etc. einbindet? ich denke wohl eher nicht.
> Manchmal ist es programmiertechnisch noch ganz praktisch, schon
> vorgegeben zu haben, dass ein where existiert:
> sql = "select ... from table where 1 ";
> $sql.= (empty($searchA)) ? '' : "and fieldA like '$searchA%'";
> $sql.= (empty($searchB)) ? '' : "and fieldB like '$searchB%'";
> Hier wären die Anhängsel komplizierter, wenn where 1 nicht schon
> vorhanden wäre.
Diese Antwort wollte ich auch geben, habe es aber wegen der
Unsinnigkeit im Falle eines gewuenschten Oderierens seingelassen.
Nur bei "AND" nutzt es, da hast Du Recht.
Grusz,
Peter Blancke
--
Hoc est enim verbum meum!