我试图做一个更新,跨2表也有一个视图连接连接另外两个表。用3个连接在一个查询中更新2个不同的表?
我没有得到任何语法错误,但受影响的行为零,所以我不知道该逻辑是怎样来写..这是我的尝试:
UPDATE resources R
INNER JOIN cost C
ON R.rid=R.rid
INNER JOIN users U
ON R.uid=U.uid
INNER JOIN money M
ON M.bid=C.bid
SET R.q = R.q - C.q, M.q = M.q - 1
WHERE C.bid=? AND U.uid= ?
如果我删除查询的这部分M.q = M.q - 1
和加入M
它工作正常,但如果我添加它然后没有行每更新。
查询是支持基于cost quantity
resources
去除量总数和从表money
场q
删除1
。
我该如何解决这个问题= /?
可能复制'http://stackoverflow.com/questions/4361774/mysql-更新多表与一个查询“ –
没有一个在该链接的答案包括加入..所以我不明白它会如何帮助我的情况。 – Sir
你可以参考这个链接'http:// stackoverflow.com/questions/3707815/update-multiple-tables-in-a-single-update-statement-with-left-join'。如果您使用的是MS-SQL,那么Sql 2008有一个'Merge'语句,您可以通过该语句在单个模块中执行多个语句。请参阅http://stackoverflow.com/questions/2695116/update-multiple-table-column- values-using-single-query' –