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