gpt4 book ai didi

mysql - 在 MySql 中以原子方式插入可能的最低唯一正整数

转载 作者:行者123 更新时间:2023-11-29 03:14:37 27 4
gpt4 key购买 nike

假设我有一个包含唯一正整数字段的表。我目前有 id 为 [1、2、3、4、5、8、12、35] 的行。是否有我可以编写的插入查询将 id 字段分配给最低的唯一正整数(在本例中为 6)?它必须以原子方式执行此操作,因此并发插入不会相互删除或失败。

最佳答案

不会用它来填充“丢失的”ID,但这应该有效:

Insert Into t (id)
Select Coalesce( Min(t.id) + 1, 0 )
From t
Left Join t As t2 On ( t2.id = t.id + 1 )
Where t2.id Is Null

获取id + 1不存在的所有id(Left Join),插入Min(id)+ 10(如果不可用)。

关于mysql - 在 MySql 中以原子方式插入可能的最低唯一正整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640335/

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