0

Android 2.2 以降では、SQLite は外部キーをサポートしていますが、デフォルトでは無効になっています。私のアプリケーションでは、database.execSQL("PRAGMAforeign_keys=ON"); を使用しています。データベースを開いた後は毎回。

2 つの質問があります。

  1. デフォルトで外部キーが無効になっているのはなぜですか?
  2. 外部キーを有効にするためのより良い解決策はありますか?

ありがとう!

4

1 に答える 1

3

ストックSQLiteでも外部キーはデフォルトで無効になっています(後方互換性のため)-SQLite FKのドキュメントにもそう書かれていると思います。したがって、Android は単にデフォルトの動作をいじっていません。

これPRAGMAは、外部キーのサポートを有効にする正しい方法です。

于 2012-05-11T20:55:54.173 に答える