Seite 1 von 1

Abfrage mit "Where 0=1" ??

Verfasst: Fr, 19.10.2007 11:09
von CoGre
Hallo,

Ich arbeit mit OO Base mit einer MySQL Datenbank.

Wenn ich die Logs von MySQL überprüfe dann sehe ich, dass OO Base viele seltsamen Abfrage vom Typ:

Code: Alles auswählen

SELECT * FROM `Datenbank`.`tblanweisung` WHERE 0 = 1
an MySQL sendet.

Weiss jemand woher das kommt und wie man das verbessern kann.

Weitere Info:
Beim aufmachen von einem Formular, der den Inhalt der Tabelle "tblanweisung" zeigt, kriegt insgesamt MySQL folgenden Befehle OO Base:

Code: Alles auswählen

7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Query       SELECT * FROM `Datenbank`.`tblanweisung` WHERE 0 = 1
7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Query       SHOW FULL TABLES FROM `Datenbank` LIKE 'tblanweisung'
7 Prepare     [15] SELECT * FROM `Datenbank`.`tblanweisung`
7 Execute     [15] SELECT * FROM `Datenbank`.`tblanweisung`
7 Query       SHOW KEYS FROM `tblanweisung` FROM `Datenbank`
Was ist also diese 0 = 1 ?

Danke für eine Erklärung
Corinne

Re: Abfrage mit "Where 0=1" ??

Verfasst: Di, 23.10.2007 19:28
von Barlee
Hallo CoGre,
Was ist also diese 0 = 1 ?
0=1 in Auswertung der WHERE Klausel liefert logischerweise immer FALSE zurück und wird benutzt, um nur die Spaltenbezeichner zurückzugeben. Zeilen der Tabelle werden dabei nicht ausgewählt.

Vermutlich benötigt das Formular die Spaltennamen zur Initialisierung. Das wäre mein Denkansatz ...

Gruß Barlee