Maison > base de données > tutoriel mysql > Pourquoi les contraintes de clé étrangère SQLite3 doivent-elles être activées explicitement ?

Pourquoi les contraintes de clé étrangère SQLite3 doivent-elles être activées explicitement ?

DDD
Libérer: 2025-01-05 00:38:40
original
873 Les gens l'ont consulté

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

Contraintes de clé étrangère SQLite3

Lors de l'utilisation de SQLite3, vous pouvez rencontrer un problème où des lignes peuvent être insérées dans une table enfant même lorsque la table parent le tableau est vide. Ce comportement est dû au comportement par défaut de SQLite3, où les contraintes de clé étrangère sont désactivées lors de la connexion.

Pour activer les contraintes de clé étrangère dans SQLite3, exécutez la requête suivante à chaque fois que vous vous connectez à la base de données :

PRAGMA foreign_keys = ON;
Copier après la connexion

La raison de répéter cette commande à chaque fois est de maintenir la compatibilité avec SQLite version 2.x. Par défaut, SQLite3 se comporte comme SQLite 2.x, qui ignore les contraintes de clé étrangère.

Dans SQLite version 4.x, cependant, les contraintes de clé étrangère seront activées par défaut, résolvant ce problème de manière permanente.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal