Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 在执行双重插入时,将值从一个表插入到另一个表中_Php_Mysql_Sql Server_Database - Fatal编程技术网

Php 在执行双重插入时,将值从一个表插入到另一个表中

Php 在执行双重插入时,将值从一个表插入到另一个表中,php,mysql,sql-server,database,Php,Mysql,Sql Server,Database,我甚至不确定这是否可能。我使用multi_查询将值同时插入到两个表中。那很好。其中一个表有一个自动递增列,我需要获取最后一个自动递增的数字并将其插入第二个表中,如下所示:插入表1,然后从列X中获取最后一个插入的数字,并将其与其他数据一起插入表2中。我已经尝试过使用SELECT LAST和INSERT INTO,但到目前为止,它只是在做我的头。insert语句如下所示: $sql= "INSERT INTO tbleClients (riskClientId, riskFacility, risk

我甚至不确定这是否可能。我使用multi_查询将值同时插入到两个表中。那很好。其中一个表有一个自动递增列,我需要获取最后一个自动递增的数字并将其插入第二个表中,如下所示:插入表1,然后从列X中获取最后一个插入的数字,并将其与其他数据一起插入表2中。我已经尝试过使用SELECT LAST和INSERT INTO,但到目前为止,它只是在做我的头。insert语句如下所示:

$sql= "INSERT INTO tbleClients (riskClientId, riskFacility, riskAudDate)     VALUES ('$riskclient2', '$facility2', '$riskdate2');";

$sql .="SELECT     LAST(riskId) FROM tbleClients;";$sql .="INSERT INTO tblRiskRegister (riskId)     SELECT riskId FROM tbleClients ;";

$sql .= "INSERT INTO tblRiskRegister     (riskAudDate, riskClientId,       riskSessionId, RiskNewId) VALUES     ('$riskdate2', '$riskclient2', '$sessionid', '$risknewid')";
它们各自都会产生结果,但我需要它同时发生。我曾经玩弄过把它们分开做的想法,但我觉得这样做效率不高。任何指点都将不胜感激

$sql= "INSERT INTO tbleClients (riskClientId, riskFacility, riskAudDate)     VALUES ('$riskclient2', '$facility2', '$riskdate2');";
执行上述查询后,使用mysqli_insert_id(),它将为您提供最后一个insert id

所以下面的查询是无用的。 $sql.=“从tbleClients中选择最后一个(风险ID)”

您可以在上述查询中插入最后一个\u插入\u id

找不到上下查询之间的关系

$sql .= "INSERT INTO tblRiskRegister     (riskAudDate, riskClientId,       riskSessionId, RiskNewId) VALUES     ('$riskdate2', '$riskclient2', '$sessionid', '$risknewid')";

前几天,我在多查询问题上确实看到了可能的重复,它解决了这个问题,但我从未注意到最后一个插入id部分。现在这个答案已经一石二鸟了。这就是我最后所做的。非常感谢。
$sql .= "INSERT INTO tblRiskRegister     (riskAudDate, riskClientId,       riskSessionId, RiskNewId) VALUES     ('$riskdate2', '$riskclient2', '$sessionid', '$risknewid')";