我想为我的数据库表中的每个条目生成一个 ID。它看起来像这样:nov45833。
前三个字符是我的表名唯一的,nov代表小说,com代表漫画等,接下来的5位是随机生成的数字。如果我想删除该条目,我只需调用该条目的存储 ID(例如 .../delete/nov45833)即可。我还希望 ID 是唯一的(这样我就不会删除错误的条目)。
我最初的计划是在填写表单时单击一个按钮,该按钮将生成一个随机数并在指定的表单字段中显示该值。然后我会按预期完成表格。这是一个例子:Codepen
我必须在服务器端还是使用 JavaScript 执行此操作?我正在使用 Python,尤其是 Flask。如果您有任何疑问或认为这是愚蠢的,请告诉我。谢谢。我很缺乏经验。
最佳答案
随机取 5 位数字会导致重复使用相同的 id 两次(小数字空间)
您可以执行以下解决方案之一:
使用更大的id空间,你可以使用标准uuid,如
12345678-1234-5678-1234-567812345678
。你可以看看如何使用它 How to create a GUID/UUID in Python您可以按特定顺序提供 ID,例如
每次 +1,这保证您不会重复使用 ID,直到达到最大值。 您也可以使用@Satish Sharma 的建议,每次检查 id 是否已经在数据库中。但是,我认为这不是一个好的解决方案。在我看来,每次插入都是不必要的大开销。
关于javascript - 是否可以为我的 sqlite 数据库生成一个随机且唯一的 5 位数 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21155381/