如何在我的数据库中的一张表中生成 AUTOMATIC 唯一控制号mysql
。
当我在表中添加条目时,我希望表中的control_no
列issuance_tbl
自动更新为这种格式的控制编号1111-00001
。所以当我在表中添加另一个条目时,它应该插入1111-00002
. 只是增量添加。
谢谢。:)
如果您出于某种原因确实需要在 MySQL 中而不是在应用程序级别实现它,那么您可以借助用于排序的单独表和触发器来实现您的目标。
表架构:
CREATE TABLE issuance_seq_tbl
(
id int not null auto_increment primary key
);
CREATE TABLE issuance_tbl
(
control_no varchar(10) not null default ''
);
触发:
DELIMITER $$
CREATE TRIGGER tg_bi_issuance_tbl
BEFORE INSERT ON issuance_tbl
FOR EACH ROW
BEGIN
INSERT INTO issuance_seq_tbl() VALUES();
SET NEW.control_no = CONCAT('1111-', LPAD(LAST_INSERT_ID(), 5, '0'));
END$$
DELIMITER ;
这是SQLFiddle演示