Abfrage mit "Where 0=1" ??

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

CoGre
*
Beiträge: 16
Registriert: Mi, 25.04.2007 10:22

Abfrage mit "Where 0=1" ??

Beitrag 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
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

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

Beitrag 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
Antworten