CREATE TABLE quotes (
id INT(14) NOT NULL AUTO_INCREMENT,
YMFqid char(11) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (YMFqid));
CREATE TABLE YMnext (
YM char(7) NOT NULL,
next INT(3) NOT NULL DEFAULT 0,
PRIMARY KEY (YM));
然后,要获得下一个值,您需要一些查询,如...
SELECT next AS latest FROM YMnext WHERE YM = '2022-12';
INSERT INTO YMnext VALUES ('2022-12', 0);
UPDATE YMnext SET next = next + 1 WHERE YM = '2022-12' AND next = latest;
3条答案
按热度按时间kqhtkvqz1#
希望这对你有帮助。
lyr7nygr2#
您可以使用主键id或任何唯一的列,然后不用担心数据的唯一性。使用该列/id生成唯一引用,如下所示:
6tdlim6h3#
如果你确定你不会有超过999报价/发票在一个月内,你可以做一些像下面...
然后,要获得下一个值,您需要一些查询,如...
如果SELECT失败,则进行插入,否则进行更新,并检查是否更新了一行且仅更新了一行。如果一个月内的报价可能超过999个,则可以相应地更改列大小。