Nếu bạn thực sự cần điều này, vì lý do nào đó, bạn có thể đạt được nó với sự trợ giúp của một bảng riêng biệt để giải trình tự và một BEFORE
kích hoạt
Lược đồ bảng:
CREATE TABLE table1_seq
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE table1
(id VARCHAR(32) NOT NULL DEFAULT 0, name VARCHAR(32));
Trình kích hoạt
DELIMITER $$
CREATE TRIGGER tg_bi_table1
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table1_seq () VALUES ();
SET NEW.id = MD5(LAST_INSERT_ID());
END$$
DELIMITER ;
Bây giờ bạn có thể chèn các hàng vào table1
của mình bảng
INSERT INTO table1 (`name`) VALUES ('New York'),('Chicago'),('Sydney'),('Berlin');
hoặc chọn
SELECT * FROM table1 WHERE id = MD5(2);
Đây là SQLFiddle bản demo