SQLiteはデフォルトで外部キーを強制しません。私はsqlitejdbc-v056.jarを使用していますが、PRAGMA foreign_keys = ON;
を使用すると外部キー制約が有効になり、接続ごとに有効にする必要があることがわかりました。JavaからSQLiteに外部キー制約を適用するにはどうすればよいですか?
私の質問は:このコマンドを有効にするには、どの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で導入されました) – dan04
3.6.14.2、明らかに。気づかなかった – Zarjio