Insertar datos y probar la restricción de clave externa (Foreign Key Constraint)
En este paso, insertarás datos en las tablas customers
(clientes) y orders
(pedidos) y probarás la restricción de clave externa.
Primero, debes habilitar las restricciones de clave externa en SQLite (están deshabilitadas por defecto):
PRAGMA foreign_keys = ON;
Ahora, inserta algunos datos en la tabla customers
:
INSERT INTO customers (first_name, last_name, email) VALUES
('John', 'Doe', '[email protected]'),
('Jane', 'Smith', '[email protected]');
Este comando inserta dos nuevos clientes en la tabla customers
. El customer_id
se asignará automáticamente.
Ahora, inserta un pedido en la tabla orders
, haciendo referencia a uno de los clientes existentes:
INSERT INTO orders (customer_id, order_date, total) VALUES
(1, '2023-01-01', 100.00);
Este comando inserta un nuevo pedido en la tabla orders
, asociándolo con el cliente cuyo customer_id
es 1.
A continuación, intenta insertar un pedido con un customer_id
que no existe en la tabla customers
:
INSERT INTO orders (customer_id, order_date, total) VALUES
(99, '2023-01-02', 50.00);
Verás un mensaje de error similar a este: Error: FOREIGN KEY constraint failed
. Esto confirma que la restricción de clave externa está funcionando correctamente, impidiéndote crear un pedido para un cliente inexistente.
Para ver los datos en las tablas, puedes usar los siguientes comandos:
SELECT * FROM customers;
SELECT * FROM orders;
Estos comandos mostrarán el contenido de las tablas customers
y orders
, respectivamente.