Om alle bovenstaande problemen te omzeilen, kon ik het volgende maken, wat geweldig werkt!
DELIMITER $$
CREATE TRIGGER testbitcompatid BEFORE INSERT ON Table
FOR EACH ROW
BEGIN
SET @LAST_ROW = (SELECT MAX(id) FROM Table);
SET NEW.id = CASE WHEN @LAST_ROW IS NULL THEN 1 ELSE @LAST_ROW * 2 END;
END;
$$
DELIMITER ;
Vrijwel, we nemen de hoogste id , pak het log(2) ervan die ons de overeenkomstige AUTO_INCREMENT . geeft id . We voegen dan 1 . toe , en verhoog dat tot 2 .
Ik hoop dat dit helpt om hoofdpijn voor anderen te voorkomen.