gpt4 book ai didi

unique - 生成唯一帐号 - 递归调用

转载 作者:行者123 更新时间:2023-12-04 16:38:02 24 4
gpt4 key购买 nike

嗨,我需要生成 9 位唯一帐号。这是我的伪代码:

function generateAccNo()

generate an account number between 100,000,000 and 999,999,999

if the account number already exists in the DB
call generateAccNo() /* recursive call */
else
return new accout number
end if

end function

该函数似乎运行良好,但我有点担心递归调用。

这会导致任何内存泄漏(Apache 下的 PHP 5)吗?

这是解决这个问题的可接受的方法吗?

感谢您的输入。

最佳答案

您意识到这很可能会导致堆栈溢出,对吗?随着客户数量的增加,找不到可接受的帐号的可能性也会增加。

另外,你为什么不能只做顺序帐号,每次只增加一个?使用这种方法,您只需读取数据库中当前的最大 id 并增加它。

很抱歉这么直率,但您的解决方案是解决问题的糟糕方法。它将使用大量内存(因为堆栈可能会无限增长),并且会对数据库进行大量昂贵的调用。

你真的应该考虑一些其他的方法:
我强烈建议每次创建客户时只增加客户编号。事实上,如果您正确设置了数据库(在 id 列上自动递增),您甚至不必设置 id。每当您插入新客户时,都会为您设置 id。

关于unique - 生成唯一帐号 - 递归调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/98497/

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