生成唯一的注册号

时间:2019-03-25 04:32:38

标签: java mysql sql

我有一个名为-大学和学生的表

Student and College Data

我想在注册时为学生生成唯一的注册号

在单个学院中,可以同时进行多个注册。例如,学院-ABC有很多人可以注册学生

我生成注册ID的逻辑是YY_College-Pk_最后5位数字

YY_COLFK_DDDDD

在学生注册时,我将首先触发Max查询,例如

    select Max(Enrollment_No) from student where College_Fk=101

并获取最后一个Enrollment_No,然后将最后五位数字拆分并加1并插入

如果有机会同时提交两个学生的数据,就有可能为两个学生生成一个Enrollment_No。

如何解决此问题

2 个答案:

答案 0 :(得分:1)

在Java方面,您可以从诸如UUID之类的概念中汲取灵感(例如,参见https://www.baeldung.com/java-uuid)。

但是在使用数据库时,您应该使用该部分的功能,请参见How to generate unique id in MySQL?中的一些示例。

换句话说:数据库是事实的唯一来源。它为您提供了具有唯一性的ID!

答案 1 :(得分:0)

如果您想同时添加两个学生数据,那么您必须使用两次insert语句,因此对于每个数据,您都必须要

相关问题