ホームページ >データベース >mysql チュートリアル >SQLite3 の外部キー制約を明示的に有効にする必要があるのはなぜですか?

SQLite3 の外部キー制約を明示的に有効にする必要があるのはなぜですか?

DDD
DDDオリジナル
2025-01-05 00:38:40883ブラウズ

Why Do SQLite3 Foreign Key Constraints Need to Be Enabled Explicitly?

SQLite3 外部キー制約

SQLite3 を使用しているときに、親テーブルがテーブルが空です。この動作は、接続時に外部キー制約が無効になる SQLite3 のデフォルトの動作が原因で発生します。

SQLite3 で外部キー制約を有効にするには、データベースに接続するたびに次のクエリを実行します。

PRAGMA foreign_keys = ON;

このコマンドを毎回繰り返す理由は、SQLite バージョン 2.x との互換性を維持するためです。デフォルトでは、SQLite3 は外部キー制約を無視する SQLite 2.x のように動作します。

ただし、SQLite バージョン 4.x では、外部キー制約がデフォルトで有効になり、この問題は永久に解決されます。

以上がSQLite3 の外部キー制約を明示的に有効にする必要があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。