您好我使用以下代码在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]
答案 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