在一个查询中更新mysql中的多个表
我有两个表tbl1
和tbl2
它们彼此没有关系。在一个查询中更新mysql中的多个表
我在这些表上做了两个查询。
UPDATE tbl1 SET exp = 1 WHERE id IN(1,2,3,4);
UPDATE tbl2 SET exp = 1 WHERE id IN(2,1,4,5);
现在,我怎样才能使它更加优化?
您可以使用这样的事情:
UPDATE tbl1, tbl2
SET tbl1.exp = 1,
tbl2.exp = 1
WHERE tbl1.id IN(1,2,3,4)
AND tbl2.id IN(2,1,4,5)
Ya,但是说如果'tbl2.id = 2'不存在,那么整个更新不起作用! – 2015-03-13 12:47:36
@SlimShady:它确实有用,你试过了吗? – Marvin 2015-03-13 12:55:20
是的,它只适用于IN中指定的所有ID都存在,如果IN中有任何'id'不存在于表中,那么它会影响零行@Marvin – 2015-03-13 12:58:49
为什么你要这样???? – 2015-03-13 12:33:16
向下投票,因为问题缺乏信息。 – PaulFrancis 2015-03-13 12:34:55
“多表语法”如何? http://dev.mysql.com/doc/refman/5.5/en/update.html – Marvin 2015-03-13 12:37:38