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

私は同様の問題を抱えていましたが、信じられないかもしれませんが、テーブル名を「TRANSACTIONS」に変更するだけでうまくいきました。「トランザクション」は SQLite の予約語である必要がありますが、表示されたエラー メッセージが役に立たないことはわかっています。

それが役立つことを願っています。

于 2012-07-12T21:02:02.847 に答える
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 に答える