gpt4 book ai didi

mysql - 如何在mysql中创建唯一序列

转载 作者:行者123 更新时间:2023-11-29 04:47:58 25 4
gpt4 key购买 nike

如何在MySQL中创建唯一序列号?

场景是这样的,在 table1 中,数据 say "A" in row1 可以出现不止一次。

所以当它第一次出现时,一个序列号将被分配给它,并且每次它再次出现时都会被分配给它。

但是数据“B”(比如输入的下一个数据)将有下一个序列号。

所以我不能在这种情况下使用 auto_increment。比如说,我必须检查这个唯一序列号的条件 c1 和 c2。

正在寻找一个存储过程来实现它。希望我清楚我的问题。

最佳答案

CREATE TABLE `seq` (
`n` BIGINT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`n`)
);

DELIMITER $$

DROP PROCEDURE IF EXISTS getseq$$

CREATE FUNCTION getseq() RETURN BIGINT
BEGIN
DECLARE r BIGINT;
INSERT INTO `seq` (`n`) VALUES (NULL);
SELECT MAX(`n`) INTO r FROM `seq`;
COMMIT;
RETURN r;
END$$

DELIMITER ;

应该修改并发事务,但我认为它会起作用,因为自动递增的标记确实在事务之间共享,但不是您向表中插入所产生的 id。

关于mysql - 如何在mysql中创建唯一序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com