2016-05-03 12 views
1

schlägt fehl.mysql: Keine Tabelle erstellen

ERROR: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5390e910_abb3_40e2_bdfa_bd9d369e6dc6 like notification_sample_history' at line 1

Jetzt sehe ich keinen Fehler mit dem obigen Namen wie die MySQL-Dokumentation sagt:

  1. 64 Zeichen max

  2. kann mit jedem Buchstaben/Ziffer

  3. starten
  4. und enthalten Unterstriche/Buchstaben/Ziffern

Obwohl ich bin in der Lage, so etwas laufen:

create table 1f8b784f_f580_4a82_9e93_167a2d9c79f5 like sample_table 
+2

Ihre Fehlermeldung ('wie notification_sample_history') nicht Ihren gegebenen Anweisung übereinstimmen (' wie sample_table') Bitte senden Sie die * genaue * Anweisung, die den Fehler verursacht. –

+0

Was für eine gute beschreibende Namen einer Tabelle Sie verwenden. Ich freue mich darauf, dieses Schema beizubehalten –

+1

Das eigentliche Problem hier ist der Name der Tabelle - warum in aller Welt nennen Sie es so? –

Antwort

2

Ich glaube, es ist die erste „e“. Wenn ich dieses Zeichen für einen anderen Buchstaben tausche, funktioniert die Abfrage einwandfrei.

Ich bin auf diese nicht positiv, aber mein Verdacht ist, dass MySQL die Zeichenfolge liest und bedenkt, dass es die Zahl „5390 mal 10 auf die Kraft der 910abb3 [etc]“ bedeuten. Und während alle numerischen Tabellennamen gültig sind, müssen sie in Anführungszeichen gesetzt werden.

Versuchen Sie, Ihren Tabellennamen in Back-Ticks einzuschließen. Dies funktioniert für mich:

create table `5390e910_abb3_40e2_bdfa_bd9d369e6dc6` like abbreviations; 
+0

Es ist eine Potenz von 10, keine Potenz von 'e'. Es ist eine normale Fließkomma-Syntax, '2e20' bedeutet 2 mal 10 bis 20th power. – Barmar

+0

gah. Ja, du hast Recht. Hirnkrämpfe, tut mir leid. Ich werde es reparieren. –

+0

Nein, es hat nicht funktioniert. Derselbe Fehler. –