include/master-slave.inc [connection master] call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); CREATE TABLE t1(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB; CREATE TABLE t2(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB; CREATE TRIGGER trig1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2(i) VALUES(new.i); START TRANSACTION; INSERT INTO t2(i) VALUES (1); ROLLBACK; INSERT INTO t1(i) VALUES(2); START TRANSACTION; LOCK TABLES t1 WRITE, t2 WRITE; INSERT INTO t1(i) VALUES(3); UNLOCK TABLES; COMMIT; connection slave; include/diff_tables.inc [master:t1, slave:t1] include/diff_tables.inc [master:t2, slave:t2] connection master; DROP TABLE t1,t2; CREATE TABLE t1(i INT) ENGINE=INNODB; CREATE TABLE t2(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB; INSERT INTO t1 values (1), (2), (3); START TRANSACTION; INSERT INTO t2(i) VALUES (1); ROLLBACK; INSERT INTO t2(i) SELECT i FROM t1; START TRANSACTION; LOCK TABLES t2 WRITE, t1 READ; INSERT INTO t2(i) SELECT i FROM t1; UNLOCK TABLES; COMMIT; connection slave; include/diff_tables.inc [master:t1, slave:t1] include/diff_tables.inc [master:t2, slave:t2] connection master; DROP TABLE t1,t2; CREATE TABLE t1(i int, id INT AUTO_INCREMENT, PRIMARY KEY (i, id)) ENGINE=MYISAM; INSERT INTO t1 (i) values (1); START TRANSACTION; LOCK TABLES t1 WRITE; INSERT INTO t1 (i) values (2); UNLOCK TABLES; COMMIT; connection slave; include/diff_tables.inc [master:t1, slave:t1] connection master; DROP TABLE t1; CREATE TABLE t1(i INT, j INT, UNIQUE KEY(i), UNIQUE KEY(j)) ENGINE=INNODB; INSERT INTO t1 (i,j) VALUES (1,2) ON DUPLICATE KEY UPDATE j=j+1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe START TRANSACTION; LOCK TABLES t1 WRITE; INSERT INTO t1 (i,j) VALUES (1,2) ON DUPLICATE KEY UPDATE j=j+1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe UNLOCK TABLES; COMMIT; connection slave; include/diff_tables.inc [master:t1, slave:t1] connection master; DROP TABLE t1; include/rpl_end.inc