DROP TABLE IF EXISTS t1,t2; CREATE TABLE t1 (a , b ) ENGINE= ; INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'),(10000,'foobar'); INSERT INTO t1 (a,b) SELECT a, b FROM t1; CREATE TABLE t2 (c , d ) ENGINE= ; INSERT INTO t2 (c,d) SELECT b, a FROM t1; UPDATE IGNORE t1 SET b = 'upd1' WHERE b IS NOT NULL ORDER BY a LIMIT 1; SELECT a,b FROM t1; a b 1 a 1 upd1 10000 foobar 10000 foobar 2 b 2 b 3 c 3 c 4 d 4 d 5 e 5 e UPDATE IGNORE t1, t2 SET b = 'upd2a', c = 'upd2b' WHERE c < b OR a != ( SELECT 1 UNION SELECT 2 ); Warnings: Warning 1242 Subquery returns more than 1 row SELECT a,b FROM t1; a b 1 a 1 upd2a 10000 upd2a 10000 upd2a 2 upd2a 2 upd2a 3 upd2a 3 upd2a 4 upd2a 4 upd2a 5 upd2a 5 upd2a SELECT c,d FROM t2; c d upd2b 1 upd2b 1 upd2b 10000 upd2b 10000 upd2b 2 upd2b 2 upd2b 3 upd2b 3 upd2b 4 upd2b 4 upd2b 5 upd2b 5 DROP TABLE t1, t2;