我有兩個表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);
現在,我怎樣才能使它更加優化?
我有兩個表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