Để 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.