mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix when using auto_increment and last_insert_id() in the same insert statement.
This commit is contained in:
15
mysql-test/r/rpl_insert_id.result
Normal file
15
mysql-test/r/rpl_insert_id.result
Normal file
@ -0,0 +1,15 @@
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
b c
|
||||
1 4
|
||||
a
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
b c
|
||||
5 0
|
||||
6 11
|
39
mysql-test/t/rpl_insert_id.test
Normal file
39
mysql-test/t/rpl_insert_id.test
Normal file
@ -0,0 +1,39 @@
|
||||
#see if queries that use both
|
||||
#auto_increment and LAST_INSERT_ID()
|
||||
#are replicated well
|
||||
source include/master-slave.inc;
|
||||
connection master;
|
||||
drop table if exists t1;
|
||||
create table t1(a int auto_increment, key(a));
|
||||
create table t2(b int auto_increment, c int, key(b));
|
||||
insert into t1 values (1),(2),(3);
|
||||
insert into t1 values (null);
|
||||
insert into t2 values (null,last_insert_id());
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
connection master;
|
||||
#check if multi-line inserts,
|
||||
#which set last_insert_id to the first id inserted,
|
||||
#are replicated the same way
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
create table t1(a int auto_increment, key(a));
|
||||
create table t2(b int auto_increment, c int, key(b));
|
||||
insert into t1 values (10);
|
||||
insert into t1 values (null),(null),(null);
|
||||
insert into t2 values (5,0);
|
||||
insert into t2 values (null,last_insert_id());
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
connection master;
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
Reference in New Issue
Block a user