Insérer des données et tester la contrainte de clé étrangère (Foreign Key Constraint)
Dans cette étape, vous allez insérer des données dans les tables customers
et orders
et tester la contrainte de clé étrangère.
Tout d'abord, vous devez activer les contraintes de clé étrangère dans SQLite (elles sont désactivées par défaut) :
PRAGMA foreign_keys = ON;
Maintenant, insérez des données dans la table customers
:
INSERT INTO customers (first_name, last_name, email) VALUES
('John', 'Doe', '[email protected]'),
('Jane', 'Smith', '[email protected]');
Cette commande insère deux nouveaux clients dans la table customers
. Le customer_id
sera automatiquement attribué.
Maintenant, insérez une commande dans la table orders
, en faisant référence à l'un des clients existants :
INSERT INTO orders (customer_id, order_date, total) VALUES
(1, '2023-01-01', 100.00);
Cette commande insère une nouvelle commande dans la table orders
, en l'associant au client dont le customer_id
est 1.
Ensuite, essayez d'insérer une commande avec un customer_id
qui n'existe pas dans la table customers
:
INSERT INTO orders (customer_id, order_date, total) VALUES
(99, '2023-01-02', 50.00);
Vous verrez un message d'erreur similaire à celui-ci : Error: FOREIGN KEY constraint failed
. Cela confirme que la contrainte de clé étrangère fonctionne correctement, vous empêchant de créer une commande pour un client inexistant.
Pour afficher les données dans les tables, vous pouvez utiliser les commandes suivantes :
SELECT * FROM customers;
SELECT * FROM orders;
Ces commandes afficheront le contenu des tables customers
et orders
, respectivement.