Để giải quyết tất cả các vấn đề ở trên, tôi đã có thể tạo ra những điều sau đây hoạt động tốt!
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 ;
Khá nhiều, chúng tôi lấy id cao nhất , lấy log(2) trong số đó cung cấp cho chúng ta AUTO_INCREMENT tương ứng id . Sau đó, chúng tôi thêm 1 và cấp nguồn cho tối đa 2 .
Tôi hy vọng điều này sẽ giúp tránh một số cơn đau đầu cho những người khác.