Gebruik van backticks in MySQL
In MySQL (en andere databaseservers zoals Oracle) is het mogelijk om backticks (`) in een query te plaatsen. Deze backticks plaats je dan om de naam van een kolom heen of om de naam van een tabel. Het gebruik ervan wordt echter sterk afgeraden!
Waarom gebruik je backticks?
Het gebruik van backticks kan in principe altijd, ook wanneer het niet nodig is. Het wordt echter sterk afgeraden omdat het meer gezien wordt als een smerige oplossing voor een verkeerd databasemodel. De reden daarvan is dat er in MySQL een aantal gereserveerde woorden zitten. Die woorden gebruikt MySQL om goed te functioneren. Hieronder een greep uit de gereserveerde woorden: (volledige lijst: klik hier)
- DATE
- LIMIT
- ORDER
- VALUES
Wanneer je één of meerdere van deze woorden gebruikt als kolom- en/of tabelnaam, dan zul je deze tussen backticks moeten plaatsen. Een voorbeeld van query met een gereserveerd woord ziet er zo uit: (we gebruiken een database met dropsoorten)
Op zich is het logisch dat het woord drop tussen backticks moet, 'drop' wordt namelijk gebruikt om een tabel of database weg te gooien (te droppen).
Verkeerd databasemodel
Wanneer je met backticks moet gaan werken, dan moet je jezelf afvragen of je je databasemodel wel goed gebouwd hebt. Er zijn genoeg oplossingen om het gebruik van backticks te vermijden. Een voorbeeld daarvan is een prefix: tbl_*
Column
Op PHPhulp is er een column geschreven over persoonlijke ervaringen met betrekking tot het gebruik van backticks. Deze kun je hier vinden.
Referenties
Inhoudsopgave
- Leesbaarheid
- SQL-injection
- XSS-injection
- Gebruik van backticks in MySQL
- Correcte foutenafhandeling
- Geheugenefficiënt programmeren
- Slot