2012-03-22 41 views
1

私はSQLiteJDBCでJavaを使用しています。私は次のことを読むまで、私は、私の外部キー制約として機能していなかった理由を理解するために苦労したSQLiteの外部キーの制約

:前バージョン3.6.19へ

、SQLiteは外部キー制約をサポートしていませんでした。

私はその後SQLiteJDBCのウェブサイトをよく見ていたし、見つかった:

現在のバージョンは、SQLiteの3.6.14.2に基づいて、V056です。

これは非常に古い記事ですが、hereと記載されている解決策があります。他のSQLite Javaコネクタも推奨されますか?

+0

アップグレードは高価な操作ですか?新しいバージョンが、あなたが望む機能を正確に提供するならば、アップグレードが最善の方法です。 – MrGomez

+0

私は非常に選択肢があります。それはすべての学習曲線です、それはイライラするものです。どのように新しいバージョンを意味するのですか?編集:私はいくつかの混乱があったと思う - SQLiteJDBCは、外部キー制約が実装される前にSQLite以外のバージョンから構築された。 – c24w

+1

私の間違い。それは3.6.19より上のものに基づくSQLiteJDBCの新しいバージョンではありません。実際、2009年以降は更新されていません。したがって、これはうまくいかないでしょう。 – MrGomez

答えて

1

JavaでのSQLiteのサポートは、not be so greatと思われます。

それが依存するのであなたは、SQLiteのの新しいバージョンに対してjavasqliteを再構築することができる場合があります

のSQLite 2.4.12 以上

それは実際に作業をしたままになるかどうか私はSQLiteはかなり安定したAPIを持っていると思う。

さらに新しいバージョンのSQLiteに対してSQLiteJDBC from sourceをビルドしようとすることもできます。

EDIT:

実は、Xerial SQLiteJDBCupdated much more recentlyてきました。明らかに、それは純粋なJavaであるので、はるかに遅いです。