php - 在执行双插入时将一个表中的值插入到另一个表中

标签 php mysql sql-server database

不确定这是否可能。我使用 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')";

关于php - 在执行双插入时将一个表中的值插入到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686335/

相关文章:

php - 清除 drupal 缓存 - php 脚本

php - CodeIgniter 中的 Helpers 有什么优势?

php - mysql更新两个表的查询

当行为空时mysql返回多个0列

sql-server - 如何完全卸载SQL Server 2012

c# - 将 .net decimal 类型转换为 tsql decimal(3,3)

php:统计数据库中的数据然后显示在其他页面

php - 无法使用php更新mysql数据库

python - 为什么mysql connector break ("Lost connection to MySQL server during query"错误)

SQL Server : Select Top 0?