2016-08-07 18 views
1

私はMySQL Workbenchで接続しているSQLデータベースを作成しました。何らかの理由で私が実際に認識できるクエリーでは使用できないカラムが1つあります。やったいくつかの理由でSQL Desc列名は受け入れられませんか?

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

それ:

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

これが何らかの理由で動作しませんでしたが、私はこれにそれを変更する場合:私のクエリは、このように見えた見えますか?

これはなぜですか?

私のテーブルには、次のようになります。

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

答えて

2

descは、SQLの予約語である - それはDESC INGのために発注(例えば:select * from mytable order by mycolumn DESC)を示しorder by句のキ​​ーワードです。

バックテックでエスケープすると、MySQLは構文要素ではなく名前として使用することを意味することを理解できます。

+1

これはうまくいきました!それを別の名前に変更して問題を解決しました – RasmusGP

関連する問題