sql >> Base de Datos >  >> RDS >> Mysql

Cree un disparador de inserción para incrementar automáticamente el campo int de PK compuesto (String, int), reinicie la numeración en 1 para nuevas cadenas

¿Has intentado declarar la variable en su lugar?

DELIMITER $$
CREATE TRIGGER `co05_test`.`ins_lineItem`
BEFORE INSERT ON `co05_test`.`my_table`
FOR EACH ROW
BEGIN
DECLARE newLineItem INT; 
SELECT 
    lineItem + 1 into newLineItem 
FROM my_table 
WHERE batch = NEW.batch
ORDER BY lineItem DESC 
LIMIT 1;

SET NEW.lineItem = newLineItem;   
END$$