将值从一个表插入到另一个表中,同时进行双重插入


insert value from one table into another whilst doing a double insert

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

$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(),它将为您提供最后一个插入id。

所以下面的查询是无用的。$sql="从tbleClients中选择最后一个(riskId);";

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

您可以在上面的查询中插入last_insert_id。

找不到以上&下面的查询。

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