-3

如何在我的数据库中的一张表中生成 AUTOMATIC 唯一控制号mysql

当我在表中添加条目时,我希望表中的control_noissuance_tbl自动更新为这种格式的控制编号1111-00001。所以当我在表中添加另一个条目时,它应该插入1111-00002. 只是增量添加。

谢谢。:)

4

1 回答 1

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演示

于 2013-09-12T06:01:48.780 回答