Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zwiększ pole identyfikatora tabeli z liczeniem bitowym

Aby obejść wszystkie powyższe problemy, udało mi się skonstruować następujący, który działa świetnie!

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 ;

Prawie bierzemy najwyższy id , pobierz log(2) z tego, co daje nam odpowiedni AUTO_INCREMENT id . Następnie dodajemy 1 i zasil go do 2 .

Mam nadzieję, że pomoże to innym uniknąć bólu głowy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę przechowywać dane z mysql do XML w Laravel 5?

  2. Sequelize Znajdź należące do wielu stowarzyszenia

  3. Zapytanie przestawne MySQL

  4. Max_connections w MySQL 5.7

  5. Mysql Porównaj dwa pola daty i godziny