i'm starting with TRIGGERS in MySQL and i started making a backup table for my "inventory table" but i get this error: Error Code: 1054. Unknown column 'anterior_código' in 'OLD'.
The database i'm trying to make is a basic sales product inventory with backup. The code is the following:
Hola, estoy comenzando con TRIGGERS en MySQL y comencé a hacer una tabla de respaldo para mi "tabla de inventario", pero recibo este error: Error Code: 1054. Unknown column 'anterior_código' in 'OLD'
La base de datos que estoy tratando de hacer es un inventario básico de productos de ventas con respaldo. El código es el siguiente:
CREATE TABLE inventario (
código VARCHAR(4) PRIMARY KEY,
producto VARCHAR(10) UNIQUE NOT NULL,
precio INT NOT NULL,
cantidad INT UNSIGNED NOT NULL
);
CREATE TABLE inventario_respaldo (
anterior_código VARCHAR(4),
anterior_producto VARCHAR(10) UNIQUE NOT NULL,
anterior_precio INT NOT NULL,
anterior_cantidad INT UNSIGNED NOT NULL,
nuevo_código VARCHAR(4),
nuevo_producto VARCHAR(10) UNIQUE NOT NULL,
nuevo_precio INT NOT NULL,
nuevo_cantidad INT UNSIGNED NOT NULL,
usuario VARCHAR(20),
fecha DATETIME
);
INSERT INTO inventario VALUES ('AT01', 'Bicicleta', 200, 20), ('AT02', 'Microondas', 100, 10), ('AT03', 'Lavamanos', 150, 5);
UPDATE inventario SET cantidad = 90 WHERE código = 'AT02';
DELIMITER //
CREATE TRIGGER trigger_respaldo
BEFORE UPDATE
ON inventario FOR EACH ROW
BEGIN
INSERT INTO inventario_respaldo (anterior_código, anterior_producto, anterior_precio, anterior_cantidad, nuevo_código, nuevo_producto, nuevo_precio, nuevo_cantidad, usuario, fecha)
VALUES (old.anterior_código, old.anterior_producto, old.anterior_precio, old.anterior_cantidad, new.nuevo_código, new.nuevo_producto, new.nuevo_precio, new.nuevo_cantidad, CURRENT_USER(), NOW());
END //
DELIMITER ;