Aby obejść wszystkie powyższe problemy, udało mi się skonstruować następujący, który działa świetnie!
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 ;
Prawie bierzemy najwyższy id , pobierz log(2) z tego, co daje nam odpowiedni AUTO_INCREMENT id . Następnie dodajemy 1 i zasil go do 2 .
Mam nadzieję, że pomoże to innym uniknąć bólu głowy.