rpl_insert_id.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. # See if queries that use both auto_increment and LAST_INSERT_ID()
  2. # are replicated well
  3. # We also check how the foreign_key_check variable is replicated
  4. source include/master-slave.inc;
  5. source include/have_innodb.inc;
  6. connection master;
  7. create table t1(a int auto_increment, key(a));
  8. create table t2(b int auto_increment, c int, key(b));
  9. insert into t1 values (1),(2),(3);
  10. insert into t1 values (null);
  11. insert into t2 values (null,last_insert_id());
  12. save_master_pos;
  13. connection slave;
  14. sync_with_master;
  15. select * from t1;
  16. select * from t2;
  17. connection master;
  18. #check if multi-line inserts,
  19. #which set last_insert_id to the first id inserted,
  20. #are replicated the same way
  21. drop table t1;
  22. drop table t2;
  23. --disable_warnings
  24. create table t1(a int auto_increment, key(a)) engine=innodb;
  25. create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=innodb;
  26. --enable_warnings
  27. SET FOREIGN_KEY_CHECKS=0;
  28. insert into t1 values (10);
  29. insert into t1 values (null),(null),(null);
  30. insert into t2 values (5,0);
  31. insert into t2 values (null,last_insert_id());
  32. SET FOREIGN_KEY_CHECKS=1;
  33. save_master_pos;
  34. connection slave;
  35. sync_with_master;
  36. select * from t1;
  37. select * from t2;
  38. connection master;
  39. # check if INSERT SELECT in auto_increment is well replicated (bug #490)
  40. drop table t2;
  41. drop table t1;
  42. create table t1(a int auto_increment, key(a));
  43. create table t2(b int auto_increment, c int, key(b));
  44. insert into t1 values (10);
  45. insert into t1 values (null),(null),(null);
  46. insert into t2 values (5,0);
  47. insert into t2 (c) select * from t1;
  48. select * from t2;
  49. save_master_pos;
  50. connection slave;
  51. sync_with_master;
  52. select * from t1;
  53. select * from t2;
  54. connection master;
  55. drop table t1;
  56. drop table t2;
  57. save_master_pos;
  58. connection slave;
  59. sync_with_master;
  60. #
  61. # Bug#8412: Error codes reported in binary log for CHARACTER SET,
  62. #           FOREIGN_KEY_CHECKS
  63. #
  64. connection master;
  65. SET TIMESTAMP=1000000000;
  66. CREATE TABLE t1 ( a INT UNIQUE );
  67. SET FOREIGN_KEY_CHECKS=0;
  68. --error 1062
  69. INSERT INTO t1 VALUES (1),(1);
  70. sync_slave_with_master;
  71. # End of 4.1 tests