3

您好我正在使用以下代码在 sqlite 管理器上生成一个表。

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]
4

3 回答 3

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 ));
于 2011-08-19T03:28:12.580 回答
4

我遇到了类似的问题,不管你信不信,只是将我的表名更改为“TRANSACTIONS”对我有用。“事务”在 SQLite 中必须是保留字,但我知道我收到的错误消息远没有帮助。

希望有帮助。

于 2012-07-12T21:02:02.847 回答
1

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

我在做:

SELECT Col1 Col2 Col3 FROM Table1

SQLite 期待:

Select Col1, Col2, Col3 FROM Table1
于 2014-07-26T16:04:10.613 回答