如何在MySQL中生成AUTOMATIC控件号?

时间:2013-09-12 05:35:06

标签: php mysql sql

如何在我的数据库mysql中的一个表中生成AUTOMATIC唯一控件号。

当我在表格中添加条目时,我希望表格control_no中的issuance_tbl列能够使用此格式1111-00001的控制号自动更新。 所以当我在表格中添加另一个条目时,它应该插入1111-00002。只需逐步添加。

感谢。 :)

1 个答案:

答案 0 :(得分:1)

如果由于某种原因真的需要在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 演示