Heim >Datenbank >MySQL-Tutorial >Warum müssen wir Backticks in MySQL-Anweisungen hinzufügen?
In der MySQL-Anweisung stoßen wir manchmal auf Backticks (``). Zuerst wusste ich nicht, was das bedeutet.
Select * from `member` order by posts desc limit 0,10;
Es dient zur Unterscheidung der reservierten Wörter von MYSQL mit gewöhnlichen Zeichen eingeleitet.
Zum Beispiel: SELECT `select` FROM `test` WHERE select='Field value'
In der Testtabelle , Wenn keine Backticks verwendet werden, betrachtet MYSQL select als reserviertes Wort und verursacht einen Fehler. Daher müssen Backticks hinzugefügt werden, um zu unterscheiden.
Anführungszeichen werden im Allgemeinen in Feldwerten verwendet, wenn der Feldwert ein Zeichen oder eine Zeichenfolge, Fügen Sie dann Anführungszeichen hinzu, wie zum Beispiel: select='field value'
Tabellen, die ohne Backticks erstellt wurden, können kein MYSQL enthalten Reservierte Wörter, sonst tritt ein Fehler auf
Backtick `, das Symbol links von der Zahl 1.
Reservierte Wörter können nicht in Tabellennamen verwendet werden , z. B. desc. Zur Unterscheidung müssen Backticks hinzugefügt werden, bei der Verwendung von Tabellennamen können Backticks jedoch ignoriert werden.
Create Table Desc hat einen Fehler gemeldetCreate Table „Desc“ war erfolgreich
Create Table `test `Erfolgreich
Drop-Table-Test erfolgreich
Reservierte Wörter können nicht für Feldnamen verwendet werden, wie z. B. desc Zu diesem Zeitpunkt müssen Backticks hinzugefügt werden, und Backticks müssen auch hinzugefügt werden, wenn Einfügen usw. verwendet wird.
Tabelle „test“(`desc` varchar(255)) erstellen erfolgreichin test(desc)-Werte einfügen('fxf') ) fehlgeschlagen
Einfügen in Test(`desc`)-Werte('fxf') erfolgreich
Allgemeine reservierte MySQL-Wörter
Seien Sie bei der Verwendung von MySQL unbedingt vorsichtig , verwenden Sie seine reservierten Wörter nicht als Tabellennamen oder Spaltennamen, da sonst unerklärliche Fehler auftreten.
Gestern habe ich eine Tabelle mit einer Spalte namens „Intervall“ (Zeitintervall) erstellt. Infolgedessen konnte ich feststellen, dass das Intervall reserviert ist Wort von MySQL.Wenn in Zukunft ähnliche Fehler auftreten, sollten Sie zunächst darüber nachdenken, ob sie durch Tabellennamen- oder Spaltennamenkonflikte verursacht werden.
Ich habe im Internet eine Liste reservierter MySQL-Wörter nur als Referenz gefunden.
ADD | ALLE | ÄNDERUNG |
ANALYSE | UND | AS |
ASC | ASENSITIVE | VOR |
ZWISCHEN | BIGINT | BINÄR |
BLOB | BEIDE | VON |
CALL | CASCADE | CASE |
CHANGE | CHAR | CHARAKTER |
PRÜFEN | SORTIEREN | Spalte |
BEDINGUNG | VERBINDUNG | BESCHRÄNKEN |
WEITER | KONVERTIEREN | ERSTELLEN |
KREUZ | AKTUELL_DATUM | AKTUELLE_ZEIT |
AKTUELLER_ZEITSTAMP | CURRENT_USER | CURSOR |
DATABASE | DATABASES | DAY_HOUR |
DAY_MICROSECOND | DAY_MINUTE | DAY_SECOND |
DEC | DECIMAL | DECLARE |
STANDARD | VERZÖGERT | LÖSCHEN |
DESC | BESCHREIBEN | DETERMINISTISCH |
DISTINCT | DISTINCTROW | p |
DOUBLE | DROP | DUAL |
EACH | ELSE | ELSEIF |
ENCLOSED | ESCAPED | EXISTS |
EXIT | EXPLAIN | FALSE |
FETCH | FLOAT | FLOAT4 |
FLOAT8 | FÜR | KRAFT |
FOREIGN | FROM | VOLLTEXT |
GOTO | GRANT | GROUP |
HAVING | HIGH_PRIORITY | HOUR_MICROSECOND |
HOUR_MINUTE | HOUR_SECOND | IF |
IGNORIEREN | IN | INDEX |
INDATEI | INNER | INOUT |
UNEMPFINDLICH | INSERT | INT |
INT1 | INT2 | INT3 |
INT4 | INT8 | INTEGER |
INTERVALL | INTO | IS |
ITERATE | JOIN | SCHLÜSSEL |
SCHLÜSSEL | KILL | LABEL |
FÜHREND | VERLASSEN | LINKS |
LIKE | LIMIT | LINEAR |
LINES | LOAD | LOCALTIME |
LOCALTIMESTAMP | LOCK | LONG |
LONGBLOB | LONGTEXT | LOOP |
LOW_PRIORITY | MATCH | MEDIUMBLOB |
MEDIUMINT | MEDIUMTEXT | MIDDLEINT |
MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
ÄNDERUNGEN | NATÜRLICH | NICHT |
NO_WRITE_TO_BINLOG | NULL | NUMERIC |
EIN | OPTIMIEREN | OPTION |
OPTIONAL | ODER | BESTELLUNG |
OUT | ÄUSSER | OUTFILE |
PRÄZISION | PRIMÄR | VERFAHREN |
PURGE | RAID0 | RANGE |
READ | READS | REAL |
REFERENZEN | REGEXP | RELEASE |
UMBENENNEN | WIEDERHOLEN | ERSETZEN |
ERFORDERN | EINSCHRÄNKEN | RÜCKGABE |
WIDERRUFEN | RECHT | RLIKE |
SCHEMA | SCHEMAS | SECOND_MICROSECOND |
SELECT | SENSITIVE | SEPARATOR |
SET | SHOW | SMALLINT |
SPATIAL | SPEZIFISCH | SQL |
SQLEXCEPTION | SQLSTATE | SQLWARNING |
SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT |
SSL | STARTING | STRAIGHT_JOIN |
TABELLE | BEENDET | DANN |
TINYBLOB | TINYINT | TINYTEXT |
TO | TRAILING | TRIGGER |
WAHR | UNDO | UNION |
EINZIGARTIG | UNLOCK | UNSIGNED |
UPDATE | NUTZUNG | USE |
USING | UTC_DATE | UTC_TIME |
UTC_TIMESTAMP | VALUES | VARBINARY |
VARCHAR | VARCHARACTER | VARYING |
WHEN | WHERE | WHILE |
MIT | WRITE | X509 |
XOR | YEAR_MONTH | ZEROFILL |
注:MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们.如:AKTION、BIT、DATE、ENUM、NO、TEXT、TIME、TIMESTAMP
所以为了安全起见可以在表名和字段名上都加上``.
Das obige ist der detaillierte Inhalt vonWarum müssen wir Backticks in MySQL-Anweisungen hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!