2011-08-19 66 views
3

嗨我使用下面的代碼在sqlite管理器上生成表。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

試試這個..

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)); 
4

我有一個類似的問題,並相信它或沒有,只是改變我的表名「交易」爲我工作。 「交易」必須是SQLite中的保留字,但我知道我得到的錯誤消息遠沒有幫助。

希望有所幫助。

1

我得到了這個錯誤,因爲我忘了用逗號分開查詢中的列。我猜這不是那樣的。

我做:

SELECT Col1 Col2 Col3 FROM Table1 

SQLite的期待:

Select Col1, Col2, Col3 FROM Table1