Para contornar todos os problemas acima, consegui construir o seguinte que funciona muito bem!
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 ;
Praticamente, pegamos o
id mais alto , pegue o log(2) dele que nos dá o correspondente AUTO_INCREMENT id . Em seguida, adicionamos 1 , e aumente isso até 2 . Espero que isso ajude a evitar alguma dor de cabeça no caminho para os outros.