2012-05-11 14 views
0

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

  1. なぜが外部キーは、デフォルトでは無効になっています

    私は2つの質問がありますか?

  2. 外部キーを有効にする方がいいですか?

ありがとう!

+0

毎回する必要がありますか?私はそれがDBが作成されたときに設定されていると思ったので、あなたはそれをto.doする必要がありました。 – Barak

+0

私はオープンデータベースのたびにそれを行います。 – IgorOK

答えて

3

外部キーはデフォルトで無効になっていますSQLite(下位互換性もあります) - 私はそれもSQLite FKのドキュメントでそう言います。したがって、Androidは単にではなく、というデフォルトの動作をしています。

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