Meistens kann man die `` weglassen, aber wenn ein Feld von dir beispielsweise select heißt, wüsste MySQL bei einem solchen Query nicht, was da das zweite SELECT soll und würde nen Syntax-Fehler ausspucken:
Code:
SELECT select FROM tabelle WHERE bla = 1
Wenn du aber den Feldnamen in `` setzt, weiß MySQL, dass das ein Feldname und kein Befehl ist
Code:
SELECT `select` FROM tabelle WHERE bla = 1
Gut, nun nehmen wir an, deine Tabelle heißt nicht "tabelle" sondern, weil du Englisch bevorzugst, "table". Da würde MySQL auch streiken (glaube ich), weil TABLE auch ein MySQL-Schlüsselwort ist. Das Ergebnis wäre das selbe wie oben: Syntax-Fehler.
Code:
SELECT `select` FROM table WHERE bla = 1
Wenn du den Tabellenname aber auch in `` setzt, weiß MySQL wieder, dass es kein Befehl sondern ein Name ist.
Code:
SELECT `select` FROM `table` WHERE bla = 1
Um solche Probleme von vornherein zu vermeiden, sollte man alle Tabellen- und Feldnamen immer in `` setzen:
Code:
SELECT `select` FROM `table` WHERE `bla` = 1 AND `blub` = 2