Untuk mengatasi semua masalah di atas, saya dapat membuat yang berikut ini yang berfungsi dengan baik!
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 ;
Cukup banyak, kami mengambil id
tertinggi , ambil log(2)
dari itu yang memberi kita AUTO_INCREMENT
yang sesuai id
. Kami kemudian menambahkan 1
, dan aktifkan hingga 2
.
Saya harap ini membantu mencegah beberapa sakit kepala di jalan untuk orang lain.