For at omgå alle ovenstående problemer var jeg i stand til at konstruere følgende, som fungerer godt!
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 ;
Vi tager stort set det højeste id , tag fat i log(2) af det, hvilket giver os den tilsvarende AUTO_INCREMENT id . Vi tilføjer derefter 1 , og forstærk det op til 2 .
Jeg håber, at dette hjælper med at forhindre hovedpine for andre.