【发布时间】:2012-04-04 05:15:15
【问题描述】:
默认情况下,SQLite 似乎不强制执行外键。我正在使用sqlitejdbc-v056.jar,并且我读到使用PRAGMA foreign_keys = ON; 将打开外键约束,并且需要在每个连接的基础上打开它。
我的问题是:我需要执行哪些 Java 语句才能打开此命令?我试过了:
connection.createStatement().execute("PRAGMA foreign_keys = ON");
和
Properties properties = new Properties();
properties.setProperty("PRAGMA foreign_keys", "ON");
connection = DriverManager.getConnection("jdbc:sqlite:test.db", properties);
和
connection = DriverManager.getConnection("jdbc:sqlite:test.db;foreign keys=true;");
但这些都不起作用。我在这里有什么遗漏吗?
我见过this answer,我想做完全相同的事情,只使用 JDBC。
【问题讨论】:
-
您使用的是什么版本的 SQLite? (外键约束在 3.6.19 中引入。)
-
3.6.14.2,显然。甚至没有意识到。
标签: java sqlite jdbc foreign-keys