Per aggirare tutti i problemi di cui sopra, sono stato in grado di costruire quanto segue che funziona alla grande!
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, prendiamo l'id più alto , prendi il log(2) di esso che ci fornisce il corrispondente AUTO_INCREMENT id . Quindi aggiungiamo 1 e accendilo fino a 2 .
Spero che questo aiuti a prevenire qualche mal di testa lungo la strada per gli altri.