gpt4 book ai didi

mysql - 强制数据库中的数字包含 4 位数字

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

        Dim sqlsporring As String = "SELECT MAX(pID) AS pID FROM person_kunde"

kobling.sporring(user, password, sqlsporring)
svar = kobling.hentData()

Dim temprad As DataRow
Dim nyID, modID As String
For Each temprad In svar.Rows
nyID = temprad("pID")
modID = nyID + 1
nyKundeId = modID
Next temprad

这段代码本质上满足了我的需要。它找到数据库中的最高 ID,并为该 ID(在本例中为新用户)提供加 1 的值。问题是我的数据库存储该用户的 ID 为 4 位数字,0001、0002、0003 等,而此代码只为新用户提供 ID 4。

有没有一种简单的方法可以强制新 ID 为 4 位数字,因为一旦这个库中有超过 9 个用户,如果我用硬编码手动添加 3 x '0' 会看起来很愚蠢,我更喜欢更优雅的方法解决方案。

编辑一如既往,感谢所有的指点,但没有帮助我解决这个问题,尽管我想改进我的代码。

之前应该提到过,这是用于 INSERT - 询问,并且这解决了它:

nyKundeId.ToString("0000")

感谢您的 MySQL - 如何在邮政编码前面加上“0”? - 链接,就成功了:)

最佳答案

仅存储整数4。真的。使用 LPAD() function 将其格式化以在输出中显示额外的 0或者(根据偏好)在您的应用程序代码中如下所示: nyKundeId.PadLeft(4, "0"c) 这就是数据库的工作方式。

此外,您发布的 VB 代码是一种增加用户 ID 的可怕方式。它创建了一个竞争条件,这样,如果您的事件同时生成大量新用户,您可能最终会尝试创建两个(或更多)具有相同 ID 的用户。相反,让您的数据库为您执行此操作,使用它的 auto_increment功能。

关于mysql - 强制数据库中的数字包含 4 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23294272/

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