Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以为我的sqlite数据库生成一个随机且唯一的5位数ID?_Javascript_Python_Database_Flask_Flask Sqlalchemy - Fatal编程技术网

Javascript 是否可以为我的sqlite数据库生成一个随机且唯一的5位数ID?

Javascript 是否可以为我的sqlite数据库生成一个随机且唯一的5位数ID?,javascript,python,database,flask,flask-sqlalchemy,Javascript,Python,Database,Flask,Flask Sqlalchemy,我想为我的db表中的每个条目生成一个ID。它看起来是这样的:nov45833 前三个字符是我表格名称的唯一字符,nov代表小说,com代表漫画,等等。接下来的5个数字是随机生成的数字。如果我想删除条目,我只需调用条目的存储ID(例如..../delete/nov45833)即可。我还希望ID是唯一的(这样我就不会删除错误的条目) 我最初的计划是在填写表单时单击一个按钮,该按钮将生成一个随机数,并在指定的表单字段中显示值。然后我会按计划完成表格。以下是一个例子: 我需要在服务器端还是使用JavaS

我想为我的db表中的每个条目生成一个ID。它看起来是这样的:nov45833

前三个字符是我表格名称的唯一字符,nov代表小说,com代表漫画,等等。接下来的5个数字是随机生成的数字。如果我想删除条目,我只需调用条目的存储ID(例如..../delete/nov45833)即可。我还希望ID是唯一的(这样我就不会删除错误的条目)

我最初的计划是在填写表单时单击一个按钮,该按钮将生成一个随机数,并在指定的表单字段中显示值。然后我会按计划完成表格。以下是一个例子:


我需要在服务器端还是使用JavaScript来完成这项工作?我正在使用Python,尤其是Flask。如果你有任何问题或认为这是愚蠢的,请让我知道。非常感谢。我没有经验。

随机抽取5位数字可能会导致重复使用同一id两次(小数字空间)

您可以执行以下解决方案之一:

  • 使用更大的id空间,您可以使用标准uuid,看起来像
    12345678-1234-5678-1234-567812345678
    。你可以看看如何使用它

  • 您可以按照一定的顺序提供id,比如每次+1,这保证在达到最大值之前不会重复使用id

  • 您还可以使用@Satish Sharma suggestion,每次检查id是否已经在数据库中。然而,我认为这不是一个好的解决方案。在我看来,每次插入都会产生不必要的大开销


  • 为什么是随机的而不是序列?(即每次+1)生成id并在插入之前在数据库中进行检查。也许您想检查python库为什么不让数据库生成id,然后单独存储类型?如果您不想让URL直接映射到ID,那么您的URL就不必直接映射到ID。@SeanVieira我还没有学会如何删除帖子,所以我认为这是标准的过程。似乎只使用db的自动增量更容易。谢谢你们的帮助。