SQLite外键约束
问题描述:
我正在使用Java与SQLiteJDBC。SQLite外键约束
我挣扎理解为什么我的外键不作为限制,直到我读了以下内容:
此前3.6.19版本,SQLite的不支持外键约束。
然后我把在SQLiteJDBC网站仔细一看,发现:
目前的版本是v056,基于SQLite的3.6.14.2。
有一个解决方案文档here,虽然它是一个非常古老的文章 - 它仍然是继续进行的最佳方式?其他SQLite Java连接器会被推荐吗?
答
Java中的SQLite支持似乎是not be so great。
您可以重建javasqlite针对的SQLite的新版本,因为它取决于:
的SQLite 2.4.12 或更高
是否会实际工作还有被看到,但我认为SQLite有一个相当稳定的API。
您也可以尝试针对较新版本的SQLite构建SQLiteJDBC from source。
编辑:
事实上,Xerial SQLiteJDBC一直updated much more recently。显然,它是很慢的,因为它是纯Java。
这是升级是一个昂贵的操作的情况吗?升级是最好的方式,因为新版本提供了您想要的功能。 – MrGomez 2012-03-22 21:50:50
我对替代品非常开放;这完全是一个学习曲线,不管它是一个令人沮丧的。你是指新版本?编辑:我认为有一些混淆 - SQLiteJDBC是建立在脱离SQLite的版本之前,实现了外键约束。 – c24w 2012-03-22 22:03:59
我的错误。事实证明,这并不是基于3.6.19以上版本的SQLiteJDBC的更新版本。事实上,它自2009年以来一直没有更新。所以,这是行不通的。 – MrGomez 2012-03-22 22:06:03