Mysql
 sql >> Database >  >> RDS >> Mysql

Incrementa il campo ID tabella con conteggio bit a bit

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.