DROP TABLE IF EXISTS t1,t2; CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=xengine; 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 CHAR(8), d INT, pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=xengine; 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 ORDER BY pk; a b 1 upd1 2 b 3 c 4 d 5 e 10000 foobar 1 a 2 b 3 c 4 d 5 e 10000 foobar UPDATE t1, t2 SET b = 'upd2a', c = 'upd2b' WHERE c < b OR a != ( SELECT 1 UNION SELECT 2 ); ERROR 21000: Subquery returns more than 1 row 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 ORDER BY pk; a b 1 upd2a 2 upd2a 3 upd2a 4 upd2a 5 upd2a 10000 upd2a 1 a 2 upd2a 3 upd2a 4 upd2a 5 upd2a 10000 upd2a SELECT c,d FROM t2 ORDER BY pk; c d upd2b 1 upd2b 2 upd2b 3 upd2b 4 upd2b 5 upd2b 10000 upd2b 1 upd2b 2 upd2b 3 upd2b 4 upd2b 5 upd2b 10000 DROP TABLE t1, t2;