Sqlite管理器中的语法错误

时间:2011-08-19 03:26:19

标签: sqlite sqlitemanager

您好我使用以下代码在sqlite manager上生成一个表。

CREATE TABLE Transaction (ID PRIMARY KEY , amount REAL , currencyCode CHAR(3) , comments VARCHAR , debitAccount INTEGER , creditAccount INTEGER , debitAccountExchangeRate REAL , creditAccountExchangeRate REAL , FOREIGN KEY (currencyCode)REFERENCES Currency (code) , FOREIGN KEY (debitAccount) REFERENCES Account  (ID) , FOREIGN KEY (parentAccount) REFERENCES Account (ID ));

但是我收到了语法错误。任何人都可以在这里说明我做错了什么。

    [ near "Transaction": syntax error ]
    Exception Name: NS_ERROR_FAILURE
      Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)      [mozIStorageConnection.createStatement]

3 个答案:

答案 0 :(得分:4)

试试这个..

CREATE TABLE "Transaction" (ID PRIMARY KEY , amount REAL , currencyCode CHAR(3) , comments VARCHAR , debitAccount INTEGER , creditAccount INTEGER , debitAccountExchangeRate REAL , creditAccountExchangeRate REAL , FOREIGN KEY (currencyCode)REFERENCES Currency (code) , FOREIGN KEY (debitAccount) REFERENCES Account  (ID) , FOREIGN KEY (creditAccount) REFERENCES Account (ID ));

答案 1 :(得分:4)

我遇到了类似的问题,不管你信不信,只需将我的表名改为“TRANSACTIONS”就可以了。 “事务”必须是SQLite中的保留字,但我知道我得到的错误信息远非有用。

希望有所帮助。

答案 2 :(得分:1)

我收到此错误,因为我忘了用逗号分隔查询中的列。我想它不是那样的。

我在做:

SELECT Col1 Col2 Col3 FROM Table1

SQLite期待:

Select Col1, Col2, Col3 FROM Table1