Insertar Datos y Probar la Restricción de Clave Externa
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', 'john.doe@example.com'),
('Jane', 'Smith', 'jane.smith@example.com');
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.