2016-08-07 43 views
1

Ich habe eine SQL-Datenbank erstellt, mit der ich mit MySQL Workbench verbunden bin. Ich habe eine Spalte, die ich aus irgendeinem Grund nicht in der Abfrage verwenden kann, die Workbench tatsächlich erkennt. Meine Suche sieht wie folgt aussieht:Name der SQL-Desc-Spalte nicht akzeptiert?

INSERT INTO `mcfluid` (desc, type, maxcap, curcap) VALUES ('tank', 'water',1000,1000); 

Dies nicht aus irgendeinem Grunde nicht funktioniert, aber wenn ich es so weit geändert:

INSERT INTO `mcfluid` (`desc`, type, maxcap, curcap) VALUES ('tank', 'lava',1000,1000); 

Es aus irgendeinem Grunde nicht wahr?

Warum ist das?

Meine Tabelle sieht wie folgt aus:

id int(11) AI PK 
desc varchar(100) 
type varchar(100) 
maxcap bigint(20) 
curcap bigint(20) 

Antwort

2

desc ist ein reserviertes Wort in SQL - es ist ein Schlüsselwort für die order by Klausel, die die Bestellung in einem ab ing um bezeichnet (z .: select * from mytable order by mycolumn DESC).

Wenn Sie es mit Backticks umgehen, kann MySQL verstehen, dass Sie es als Namen und nicht als syntaktisches Element verwenden möchten.

+1

Oh, das hat funktioniert! änderte es dann zu einem anderen Namen und Problem behoben – RasmusGP