我们大多数人都已经看到,当我们从亚马逊这样的网站上购物时,我们会得到一个订单号或购买号( 10-12位),它看起来像是一些随机数字。同样,我希望为大型系统生成唯一的ids。生成它的最佳算法是什么?
一些我认为效率不高或不适用于大规模系统的方法
1) Generating string using rand function ( Array.new(12){rand(10)}.join) and checking
whole table whether it is exists. It is time consuming, inefficient and may struck
i
在Anylogic离散事件模型中,我尝试基于我创建的数据库表来设置到达率和每次到达的代理数量。该表包括一列材料的到货日期和时间,然后是指定给每种材料的唯一代码和订单号。每种物料只有一个代码,但每天收到的物料都有多个订单号。此外,每天在同一时间接收多个材料。当我设置Source从表中读取数据时,我在运行时得到一个错误: error during model creation:
根:不是唯一的数据库值!
我找不到任何关于解决这个错误的帮助。
我正在使用asp.net/vb.net 4.0、visual studio 2010和带有动态数据脚手架的linq- to -entities模型,为用户提供生成的表单来编辑SQL数据库中的数据。
我在PageTemplates文件夹中的insert.aspx中添加了一些调用javascript函数的按钮。
一开始我用的是这样的东西
var account = document.getElementById("ctl00_ContentPlaceHolder1_FormView1_ctl04_ctl00___account_TextBox1");
通过asp.net选择生成的
假设我们在SQL.Normally中生成了订单号,我得到的下一个订单号是
SELECT COUNT(numbers)+1 FROM X
等。
问题是,我想首先给用户这个数字,然后等待用户输入内容,然后插入到table.But,因为有多个用户,我也想让他们获得这个数字,但不是第一个用户的数字,有没有更优雅的方法呢?简而言之,我希望将号码保留给特定用户,如果他这样做了,则插入该号码,如果不是,只释放该号码。