Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein MySQL-Tabellenfeld umbenennen, um einen Bindestrich einzufügen?

Wie kann ich ein MySQL-Tabellenfeld umbenennen, um einen Bindestrich einzufügen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-09 16:02:42447Durchsuche

How Can I Rename a MySQL Table Field to Include a Hyphen?

Lösung zum Umbenennen von MySQL-Tabellenfeldern, die Bindestriche enthalten

Das Einfügen von Bindestrichen direkt in MySQL-Tabellenfeldnamen ist nicht zulässig. Dies liegt daran, dass MySQL die Punktnotation verwendet, um auf Tabellenspalten zu verweisen, und Bindestriche in der Punktnotation nicht zulässig sind.

Es gibt jedoch zwei Möglichkeiten, diese Einschränkung zu umgehen:

Verwenden Sie Trennzeichen

Sie können Trennzeichen wie Backticks (`) oder doppelte Anführungszeichen (") verwenden, um Feldnamen einzuschließen, die Sonderzeichen enthalten. Beispiel:

<code class="language-sql">ALTER TABLE my_table CHANGE COLUMN `product` `ds-product` VARCHAR(255);</code>

In diesem Beispiel ist der Feldname ds-product in Backticks eingeschlossen, sodass er Bindestriche enthalten kann.

Verwenden Sie den ANSI_QUOTES SQL-Modus

Eine weitere Option besteht darin, den SQL-Modus ANSI_QUOTES zu aktivieren, der die Verwendung von doppelten Anführungszeichen als Trennzeichen für Bezeichner ermöglicht. Wenn dieser Modus aktiviert ist, können Felder mit der folgenden Syntax umbenannt werden:

<code class="language-sql">SET SQL_MODE = ANSI_QUOTES;
ALTER TABLE my_table CHANGE COLUMN "product" "ds-product" VARCHAR(255);</code>

Beachten Sie, dass Sie den ANSI_QUOTES-Modus festlegen müssen, bevor Sie Felder umbenennen.

Nachdem Sie eine der oben genannten Methoden verwendet haben, können Sie das Feld umbenennen und in Abfragen verwenden, ohne dass der Fehler „Unbekannte Spalte“ auftritt.

Das obige ist der detaillierte Inhalt vonWie kann ich ein MySQL-Tabellenfeld umbenennen, um einen Bindestrich einzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn