什么是最简单的方法来运行更新并选择查询作为mysql中的一个查询?

时间:2016-01-29 08:15:01

标签: mysql sql join

我有两个查询,我想从我的php脚本同时运行。一个是更新查询,另一个是选择查询。 这是更新查询

UPDATE stock_list SET qty=qty -1 where itembarcode="BRMS01";

这是我的选择查询

SELECT itembarcode,description,weight,making FROM stock_list  WHERE itembarcode="BRMS01"

我试过像

这样的东西
UPDATE stock_list SET qty=qty -1 AND SELECT itembarcode,description,weight,making FROM stock_list  WHERE itembarcode="BRMS01";

我得到的错误就像 - (

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'SELECT itembarcode,description,weight,制作FROM stock_list   WHERE itembarcode ='在第1行

) 感谢任何帮助。谢谢你:))

1 个答案:

答案 0 :(得分:2)

交易是你的朋友。

如果你这样做

START TRANSACTION;
UPDATE stock_list SET qty=qty -1 where itembarcode='BRMS01';
SELECT itembarcode,description,weight,making FROM stock_list  WHERE itembarcode='BRMS01';
COMMIT;

这将执行您的更新操作,然后同时运行您的选择查询(而不是一个,然后另一个。

编辑:

澄清如何为OP的情况编写

mysqli_query($con,"START TRANSACTION;  UPDATE stock_list SET qty=qty -1 where itembarcode='BRMS01'; SELECT itembarcode,description,weight,making FROM stock_list  WHERE itembarcode='BRMS01'; COMMIT; ");

这是您需要运行的基于事务的查询。一次执行,而不是多次。