[英]How generate next id number for php mysql driven database
我有一个employees
表,其中包含公司雇员的详细信息。
每个人分配一个唯一的序列号。 每当我们添加新员工时,它都应以添加形式显示序列号,该序列号比最后输入的员工的序列号大一个。
例如,数据库包含12名员工。 最后一个条目的序列号是12
。 当我尝试添加新员工时,它应该自动分配序列号13
。 因此,我不需要输入序列号。 我怎样才能做到这一点?
即使查询当前数据库状态(除了正好有一个用户正在使用该应用程序),您也无法精确预测下一个auto_increment ID。 示例:打开表单,从数据库中获取下一个auto_increment ID,并显示13作为下一个预测值。 同时,另一个用户打开表单并保存该表单的速度比您快。 另一个用户记录的真实ID为13,即您的14。
如果您确实要在表单中显示使用的ID,则需要对记录进行某种分配(例如,在打开表单并使用其ID时创建一个空记录)。 使用某种状态字段或必填字段,您可以过滤应用程序中的空记录,直到它们完成并定期清除未完成的记录。 唯一的缺点是,如果用户未填写表格(例如14、15、18、20,...)而打开表格,它可能会给您提供不连续的ID。
如果序列号设置为auto_increment,则可以使用以下命令预先查找下一个auto_increment值:
$sql = "SHOW TABLE STATUS LIKE table_name";
$r = mysql_query($sql);
$row = mysql_fetch_assoc($r);
$next_increment = $row['Auto_increment'];
其中table_name是表的名称。
for employee_id use auto increment
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.