gpt4 book ai didi

php - 组合两个不同的 select 和 update 语句

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

我有一个选择查询和一个更新查询,我想将它们结合起来。

选择查询如下:

select questionDesc from myTable
where
questionId >= (
select currentQuestionid from userTable
where userId='1'
)
and questionId <= (
select currentQuestionid+4 from userTable
where userId='1'
)

对于 user=1,此查询尝试从 myTable 中获取 questionId 位于 currentQuestionid 之间的所有问题描述code> 和 currentQuestionid+4(currentQuestioniduserTable 中特定于用户的列)。稍后我将在我的前端中使用这个结果。

现在,我想将 currentQuestionid 更新为 currentQuestionid+5。这可以通过以下方式实现:

UPDATE userTable SET currentQuesionid = currentQuestionid+5 WHERE userId ='1'

我想在一个数据库命中中实现这两个查询,以提高性能。

有什么办法可以将两者结合起来吗?我使用的是 WAMP,代码是用 php 脚本编写的。

感谢任何帮助。

最佳答案

我想我已经找到答案了。

为了将多个查询组合在一起,我们可以使用mysqli_multi_query()函数。它适用于 MySQL 服务器版本 4.1.3 及更高版本。它采用多个查询作为输入参数,并在一次数据库命中中执行它们。

例如:

//sql queries should be separated by semi-colons

$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";

// Execute multi query
if (mysqli_multi_query($con,$sql))
{
do
{
// Store first result set
if ($result=mysqli_store_result($con)) {
// Fetch row one and one
while ($row=mysqli_fetch_row($result))
{
printf("%s\n",$row[0]);
}

// Free result set
mysqli_free_result($result);
}
}
while (mysqli_next_result($con));
}

来源:http://www.w3schools.com/php/func_mysqli_multi_query.asp

关于php - 组合两个不同的 select 和 update 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587821/

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