结合两个不同的select和update语句

时间:2015-09-15 13:48:02

标签: php mysql database relational-database rdbms

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

选择查询如下:

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位于questionIdcurrentQuestionid之间的currentQuestionid+4获取所有问题描述(currentQuestioniduserTable中特定于用户的列。我稍后会在我的前端使用这个结果。

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

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

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

有没有办法将两者结合起来。我正在使用WAMP,代码是用PHP脚本编写的。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我想我找到了答案。

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

例如:

&#13;
&#13;
global
&#13;
&#13;
&#13;

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