gpt4 book ai didi

mysql - SQL 用户 ID 自动递增

转载 作者:行者123 更新时间:2023-11-30 23:16:47 25 4
gpt4 key购买 nike

Mysql数据库就是这样;

userID -> primaryKey, required, unsigned integer, auto increment, unique
usermail -> unique,varchar,required

我正在创建新用户。 userId 是自动递增的。如果之前插入了usermail,则会发生错误。我的问题是这个

Let's think that userID is between 1-9.(there are 9 users now). 
Somebody has inserted same usermail before and took error.
After that,new user inserted another usermail but userID became 11 instead 10.
Why? What should i do to make it 10?

最佳答案

您是否有必要从数据库属性本身增加用户 ID。因为我的意思是,在插入任何记录之前,只需从数据库中检索最后一个用户 ID,将其存储在一个整数变量中,然后递增它并与新记录一起插入回数据库。

假设您的最后一个用户 ID 是 9。使用此查询 - Select max(userID) from "your table";

int x=0;
SqlDataReader dr=com.ExecuteReader();
if(dr.HasRows)
{
While(dr.Read())
{
x=Convert.ToInt32(dr.GetString(0).ToString);
}
}
x=x+1;

既然您有了新的 x 值,就可以轻松地将它插入到带有新记录的数据库中。因此,将遵循自动增量,即使发生故障,插入也不会完成,并且 UserID 不会增加。

关于mysql - SQL 用户 ID 自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17297260/

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