You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.6 KiB

  1. include/master-slave.inc
  2. [connection master]
  3. CREATE TABLE t1(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB;
  4. CREATE TABLE t2(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB;
  5. CREATE TRIGGER trig1 AFTER INSERT ON t1
  6. FOR EACH ROW
  7. INSERT INTO t2(i) VALUES(new.i);
  8. START TRANSACTION;
  9. INSERT INTO t2(i) VALUES (1);
  10. ROLLBACK;
  11. INSERT INTO t1(i) VALUES(2);
  12. START TRANSACTION;
  13. LOCK TABLES t1 WRITE, t2 WRITE;
  14. INSERT INTO t1(i) VALUES(3);
  15. UNLOCK TABLES;
  16. COMMIT;
  17. include/diff_tables.inc [master:t1, slave:t1]
  18. include/diff_tables.inc [master:t2, slave:t2]
  19. DROP TABLE t1,t2;
  20. CREATE TABLE t1(i INT) ENGINE=INNODB;
  21. CREATE TABLE t2(id INT AUTO_INCREMENT, i INT, PRIMARY KEY (id)) ENGINE=INNODB;
  22. INSERT INTO t1 values (1), (2), (3);
  23. START TRANSACTION;
  24. INSERT INTO t2(i) VALUES (1);
  25. ROLLBACK;
  26. INSERT INTO t2(i) SELECT i FROM t1;
  27. START TRANSACTION;
  28. LOCK TABLES t2 WRITE, t1 READ;
  29. INSERT INTO t2(i) SELECT i FROM t1;
  30. UNLOCK TABLES;
  31. COMMIT;
  32. include/diff_tables.inc [master:t1, slave:t1]
  33. include/diff_tables.inc [master:t2, slave:t2]
  34. DROP TABLE t1,t2;
  35. CREATE TABLE t1(i int, id INT AUTO_INCREMENT, PRIMARY KEY (i, id)) ENGINE=MYISAM;
  36. INSERT INTO t1 (i) values (1);
  37. START TRANSACTION;
  38. LOCK TABLES t1 WRITE;
  39. INSERT INTO t1 (i) values (2);
  40. UNLOCK TABLES;
  41. COMMIT;
  42. include/diff_tables.inc [master:t1, slave:t1]
  43. DROP TABLE t1;
  44. CREATE TABLE t1(i INT, j INT, UNIQUE KEY(i), UNIQUE KEY(j)) ENGINE=INNODB;
  45. INSERT INTO t1 (i,j) VALUES (1,2) ON DUPLICATE KEY UPDATE j=j+1;
  46. START TRANSACTION;
  47. LOCK TABLES t1 WRITE;
  48. INSERT INTO t1 (i,j) VALUES (1,2) ON DUPLICATE KEY UPDATE j=j+1;
  49. UNLOCK TABLES;
  50. COMMIT;
  51. include/diff_tables.inc [master:t1, slave:t1]
  52. DROP TABLE t1;
  53. include/rpl_end.inc