2012-03-01 7 views
0

indexをsqliteの列名として使用できますか?sqliteの列名として 'index'を使用できますか?

select 
    metadatait0_.id as id25_, 
    metadatait0_.guid as guid25_, 
    metadatait0_.index as index25_, 
    metadatait0_.library_section_id as library7_25_, 
    metadatait0_.metadata_type as metadata4_25_, 
    metadatait0_.parent_id as parent5_25_, 
    metadatait0_.title as title25_ 
from 
    metadata_items metadatait0_ 

は、私は次のエラーを取得する:

私はこのクエリを実行しようと、それは休止状態/ JPAで生成され

org.hibernate.exception.GenericJDBCException: could not execute query 
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) 
... 
Caused by: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "index": syntax error) 

答えて

1
私はそれから敬遠でしょう

indexはRDBMSのキーワードになりそうです。私はそれを別のものに改名します。

この引用は、INDEXはSQLiteのキーワードであると言う:角括弧内の列名を含む

http://www.sqlite.org/lang_keywords.html

+0

は、私はそれが予約語ではなかった場合でも、同意し、私はこの名前を安全な側に使うのは避けたい。 – MilkyWayJoe

+0

それは私が照会したい既存のデータベース(plexapp)で使用されるという問題です。だから私はただそれを名前を変更することはできません – cremersstijn

+0

そのデータベースを作成/維持する人はこれについて知ってはいけませんか?どのように発見されていないのですか? – duffymo

2

試してみてください。

metadatait0_.[index] as index25_,