在我的一个mysql表中,我需要生成长度为15位的主键字段。
Structure is 2+2+2+2+2+5 as ex: 010101010100001.
前10个数字值来自5个2位数字表格/输入字段,最后5个字符是唯一且增量的。因此,无论何时提交表单/数据,该值都将增加。
现在我该如何实现呢?
我想到了以下方法,但考虑了2个问题:
First use select query to get the last used id/number. Then add +1 to it.
**
问题-1:
为此,我必须为select选择2查询1,为更新提供1,但我认为还有比这更好的方法吗?
问题-2:
如果有数百/数千名用户在同一时间提交表单会怎么样?如何确保它是唯一的并且不会导致db错误?
任何建议/想法都将受到高度赞赏。
答案 0 :(得分:0)
使用UNIQUE / PRIMARY KEY可确保您不能在数据库中包含任何重复条目。如果您尝试创建重复条目,将从MySQL收到错误消息。因此,您不需要检查重复项,MySQL将为您执行此操作。但是,您必须检查错误消息并通过更改值来做出相应的反应,例如根据您的要求添加+1
。