gpt4 book ai didi

mysql - 主键索引自动

转载 作者:行者123 更新时间:2023-11-29 02:32:24 24 4
gpt4 key购买 nike

我目前正在使用 mysql 做一个项目,并且是一个完美的初学者......

我制作了一个包含以下列的表格......

            ID           // A integer type column which is a primary key........
Date // A Date type column.........
Day // A String column.........

现在我只想知道有没有什么方法可以自动生成ID列插入值……??

例如:- 如果我插入一个 date - 4/10/1992Day - WED 作为值。 Mysql 服务器应自动生成从 1 开始的任何整数值,检查它们是否存在。即在包含值的表中

             ID              Date              Day

1 01/02/1987 Sun
3 04/08/1990 Sun

如果我在上表中插入日期值和日期值(在示例中指定)。它应该插入为

             2              04/10/1992         WED

我尝试过使用自动增量器等方法......但我担心它只会增加 ID 值。

最佳答案

有一种方法可以做到这一点,但它会影响性能。继续并在列上保留 auto_increment,仅在第一次插入时使用,或者在您想要更快地插入时使用。

即使在列上使用 auto_increment,您也可以指定值,只要它不与现有值冲突即可。

获取下一个值或第一个间隙:

SELECT a.ID + 1 AS NextID FROM tbl a
LEFT JOIN tbl b ON b.ID = a.ID + 1
WHERE b.ID IS NULL
ORDER BY a.ID
LIMIT 1

如果你得到一个空集,只需使用 1,或者让 auto_increment 做它的事情。

为了并发性,您需要锁定表以防止其他 session 使用您刚刚找到的下一个 ID。

关于mysql - 主键索引自动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11167454/

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