gpt4 book ai didi

php - 需要优化php mysql中的插入查询

转载 作者:行者123 更新时间:2023-11-29 04:25:45 25 4
gpt4 key购买 nike

我正在使用以下代码将多条记录插入到表中。如您所见,查询处于循环中。每次循环执行时,都会运行单独的 sql 查询来插入它。

我想要一种方法,而不是运行多个查询,只有单个 INSERT sql 查询应该运行多个插入语句。

虽然我的这段代码运行完美,但我需要对其进行优化。

$managed_ailments = unserialize($ailments);
foreach($managed_ailments as $ailment_id)
{
$sql = "INSERT INTO ". TABLE_PATIENTS_AILMENTS_RECORDS ."";
$sql .= "(patient_id, ailment_id, datecreated) VALUES";
$sql .= "($patient_id, $ailment_id, now())";
$query = $mysql->query($sql);
}

这里 $managed_ailments 是一个序列化的数组,我已经反序列化了。数组中可以有一个或多个值。 $mysql->query($sql) 是我的自定义函数。

请帮我把这段代码转换成一个单独的 sql 查询来完成这一切。

提前致谢。

最佳答案

像这样的东西应该可以工作:

$managed_ailments = unserialize($ailments);
$sql = "INSERT INTO ". TABLE_PATIENTS_AILMENTS_RECORDS ."";
$sql .= "(patient_id, ailment_id, datecreated) VALUES (";

$query_parts = array();

foreach($managed_ailments as $ailment_id) {
$query_parts[] = "($patient_id, $ailment_id, now()";
}
$sql .= implode(",", $query_parts);
$sql .= ")";

$query = $mysql->query($sql);

关于php - 需要优化php mysql中的插入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com