sql >> Base de Datos >  >> RDS >> Mysql

Incrementar campo de ID de tabla con conteo bit a bit

Para solucionar todos los problemas anteriores, ¡pude construir lo siguiente que funciona muy bien!

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 ;

Más o menos, tomamos el id más alto , toma el log(2) de ella que nos da el correspondiente AUTO_INCREMENT id . Luego agregamos 1 y potencia eso hasta 2 .

Espero que esto ayude a prevenir algunos dolores de cabeza en el futuro para otros.