Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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
Php 如何使用插入数据的ID创建数据摘要_Php_Mysql - Fatal编程技术网

Php 如何使用插入数据的ID创建数据摘要

Php 如何使用插入数据的ID创建数据摘要,php,mysql,Php,Mysql,我有一个MySQL函数,可以为给定的表生成标识符ID。该表具有复合键 id - Auto_increment act_id - BigInt(16). Its the ID obtained from the function below. 此函数返回BigInt16 BEGIN DECLARE qid integer; SELECT max(id)+1 into qid from wi_activity; IF(qid IS NULL) THEN SET qid=1; END

我有一个MySQL函数,可以为给定的表生成标识符ID。该表具有复合键

id - Auto_increment
act_id - BigInt(16). Its the ID obtained from the function below.
此函数返回BigInt16

BEGIN 
 DECLARE qid integer;
 SELECT max(id)+1 into qid from wi_activity;
 IF(qid IS NULL) THEN
    SET qid=1;
END IF;
RETURN convert(concat(6,DATE_FORMAT(CURDATE(),'%d%m%Y'),lpad(qid,7,'0')), unsigned integer);
END
问题1:

该网站有多个数据输入用户,他们在给定的表中输入数据。可能存在多个用户同时尝试输入数据的情况。这将读取相同的ID值,该ID值将生成相同的act_ID值

问题2:

在插入到表中之前,需要显示输入的所有数据,包括插入后将获取的act_id键,还必须防止生成重复的act_id键


如何解决这些问题?

除非将记录实际插入数据库,否则无法可靠地预测记录的ID值

最好的方法是在数据库中插入空行或满行,并在页面中显示它们的ID。然后,您可以更新要接受的行


任何其他方法都会给您带来麻烦,因为只有实际插入的行具有可靠的ID值。

谢谢您宝贵的评论。我将实现标志字段来检查插入的状态。