MySQL backticks (`)

Werbung:
..
Das ist wahrscheinlich auch der Grund für die verbreitete Verwendung von Backticks bei mySQL, die mir so auf den Senkel geht.
Und die in meinen Augen überflüssig ist und bei mir oft Augenreizungen verursacht.
Hihi, Überflüssig ?????

Woran soll MySQL denn erkennen ob du einen Tabellennamen oder ein Keyword meinst.
Wenn du bei der Schema, Tabellen und Feldnamen sauber vorgehst kannst du darauf verzichten, aber wer seine Date oä. nennt muss damit leben.

Gruß

Bernd
 
Hihi, Überflüssig ?????
Ja!
Du kannst Dir sicher denken, dass es mir total fern liegt, mysql zu verteidigen. Aber ja, es ist überflüssig. Hauptsächlich zwingen mich ja die Backticks dazu, eine einmal gewählte Schreibweise einzuhalten. Damit zwingen sie mich zu etwas, was ich auch ohne sie machen kann (wenn ich scharf drauf bin). Meine eigene Schreibweise einzuhalten ist also -einmal festgehalten- etwas, was ich sowieso machen muss (mit Backticks). Schaffe ich es also, ohne Backticks diesem Zwang zu folgen, habe ich nicht mehr, sondern weniger Arbeit, aber das gleiche Ergebnis. Ansonsten gibt es viele Möglichkeiten, Probleme zu vermeiden, die auch alles andere als schlechter Stil sind und ohne Backticks auskommen.

Jeder ist ja bekanntlich seines Glückes Schmied und wenn ich das mit date möchte, ja dann muss ich mit den Folgen leben. Die sind aber gar nicht so dramatisch:
Code:
MariaDB [(none)]> select version();
+-----------------+
| version()       |
+-----------------+
| 10.1.26-MariaDB |                --- hatte grad nichts anderes im Haus, geht bestimmt auch mit mysql.
+-----------------+
1 row in set (0.00 sec)

MariaDB [(none)]> use test;
Database changed
MariaDB [test]> create table date(date date);
Query OK, 0 rows affected (0.02 sec)

MariaDB [test]> insert into date (date) values (current_date());
Query OK, 1 row affected (0.01 sec)

MariaDB [test]> select date from date;
+------------+
| date       |
+------------+
| 2023-01-31 |
+------------+
1 row in set (0.00 sec)

MariaDB [test]> select d.date from date d;
+------------+
| date       |
+------------+
| 2023-01-31 |
+------------+
1 row in set (0.00 sec)

MariaDB [test]>
Also abgesehen davon, dass die Deklaration von Objekten mit Keywords ganz gut funktioniert (zum Glück gibt es ja eine Syntax), kann ich mit der Nutzung von Alias Feld- und Tabellennamen ziemlich eindeutig machen.

Ich will natürlich nicht dafür werben, Felder oder Tabellen date zu nennen, also bitte zuhause nicht nachmachen. Ich find nur backticks sehr nutzlos oder besser störend.
Und eigentlich finde ich den Beitrag von castorp sehr gut, weil er den Sachverhalt und die Hintergründe sehr gut beschreibt.
 
Also die Backticks sind nun gar nicht überfüssig.

Lies doch einfach mal diese Seite:


Dann wird dir schnell klar das die Syntax alleine reicht zB. feldname 123-Datum.
Kann also 123 - wert von Datum oder Feldname sein.
Wie würdest du sowas deklarieren ??
Wenn dir aber nur das Zeichen Backtick nicht gefällt kannst du die ja auch im SQL_MODE ändern
 
Werbung:
Kann also 123 - wert von Datum oder Feldname sein.
Na klar, man kann seine Felder natürlich so benennen, dass man sie (standardkonform oder nicht) in Anführungszeichen oder Backticks "kleiden" muss. Ich kann auch das Energieerhaltungsgesetz als Feldnamen verwenden oder chinesische Zeichen, sehr praktisch, weil sehr kurz, selbst wenn es mehrere Worte sind.
Wahrscheinlich ist es nicht nur der Backtick oder viele davon, sondern auch der sinnlose (oder Gedankenlose) Einsatz dieser Technik oder besser dieser Option. Warum soll ich mich selbst dazu zwingen, mehr zu schreiben und unleserlicher als nötig? Und warum soll ich bei den 95% sinnvollen und möglichen Schreibweisen die 5% verwenden, die Begrenzungszeichen haben müssen?
Und warum soll ein dummer Generator das beinhart durchziehen, für jeden reinsten ASCII Bezeichner eines Feldes oder sogar einer Tabelle, nur weil eine kleine Prüfung fehlt? Und warum sollte man es ahnungslos überall nachmachen, wo es überflüssig ist?

Und bevor der Eindruck entsteht, dass ich mich hier aufrege. Es ist mir vollkommen egal, dass man das Zeichen ändern kann.
Man sollte sich einen guten Schreibstil aneignen, der ohne Sonderzeichen auskommt und sich nach Möglichkeit an Standards hält- sofern das System diese einhält.
Man sollte Tools verwenden, die es gut machen (oder die Tools verbessern).
 
Zurück
Oben