📄 rpl_trigger.result
字号:
stop slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;reset master;reset slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;start slave;create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);create table t2 (a int auto_increment, primary key (a), b int);create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);create trigger t1 before insert on t1 for each rowbegininsert into t3 values (NULL, "t1", new.a, new.b, rand());end|create trigger t2 after insert on t2 for each rowbegininsert into t3 values (NULL, "t2", new.a, new.b, rand());end|insert into t3 values(100,"log",0,0,0);SET @@RAND_SEED1=658490765, @@RAND_SEED2=635893186;insert into t1 values(1,1,rand()),(NULL,2,rand());insert into t2 (b) values(last_insert_id());insert into t2 values(3,0),(NULL,0);insert into t2 values(NULL,0),(500,0);select a,b, truncate(rand_value,4) from t1;a b truncate(rand_value,4)1 1 0.43202 2 0.3055select * from t2;a b1 23 04 05 0500 0select a,name, old_a, old_b, truncate(rand_value,4) from t3;a name old_a old_b truncate(rand_value,4)100 log 0 0 0.0000101 t1 1 1 0.3203102 t1 0 2 0.5666103 t2 1 2 0.9164104 t2 3 0 0.8826105 t2 4 0 0.6635106 t2 5 0 0.6699107 t2 500 0 0.3593--- On slave --select a,b, truncate(rand_value,4) from t1;a b truncate(rand_value,4)1 1 0.43202 2 0.3055select * from t2;a b1 23 04 05 0500 0select a,name, old_a, old_b, truncate(rand_value,4) from t3;a name old_a old_b truncate(rand_value,4)100 log 0 0 0.0000101 t1 1 1 0.3203102 t1 0 2 0.5666103 t2 1 2 0.9164104 t2 3 0 0.8826105 t2 4 0 0.6635106 t2 5 0 0.6699107 t2 500 0 0.3593drop table t1,t2,t3;select get_lock("bug12480",2);get_lock("bug12480",2)1create table t1 (a datetime,b datetime, c datetime);drop function if exists bug12480;Warnings:Note 1305 FUNCTION bug12480 does not existcreate function bug12480() returns datetimebeginset @a=get_lock("bug12480",2);return now();end|create trigger t1_first before insert on t1for each row beginset @a=get_lock("bug12480",2);set new.b= now();set new.c= bug12480();end|insert into t1 set a = now();select a=b && a=c from t1;a=b && a=c1SELECT routine_name, definerFROM information_schema.routines;routine_name definerbug12480 root@localhostSELECT trigger_name, definerFROM information_schema.triggers;trigger_name definert1_first root@localhost--- On slave --SELECT routine_name, definerFROM information_schema.routines;routine_name definerbug12480 root@localhostSELECT trigger_name, definerFROM information_schema.triggers;trigger_name definert1_first root@localhostselect a=b && a=c from t1;a=b && a=c1test1truncate table t1;drop trigger t1_first;insert into t1 values ("2003-03-03","2003-03-03","2003-03-03"),(bug12480(),bug12480(),bug12480()),(now(),now(),now());select a=b && a=c from t1;a=b && a=c111drop function bug12480;drop table t1;create table t1 (i int);create table t2 (i int);create trigger tr1 before insert on t1 for each rowbegininsert into t2 values (1);end|create database other;use other;insert into test.t1 values (1);use test;drop table t1,t2;drop database other;test case for BUG#13227-------------------10-------------------drop table if exists t110;drop table if exists t210,t310;create table t110 (f1 int) /* 2 replicate */;insert into t110 values (-5);insert into t110 values (-4);insert into t110 values (-3);insert into t110 values (-2);insert into t110 values (-1);select * from t110;f1-5-4-3-2-1create trigger trg110 before update on t110 /* slave local */for each rowbeginDECLARE r integer;SELECT f2 INTO r FROM t210 where f1=NEW.f1;INSERT INTO t310 values (r);end|create table t210 (f1 int, f2 int) /* slave local */;create table t310 (f3 int) /* slave local */;insert into t210 values (5, 5*100);insert into t210 values (4, 4*100);insert into t210 values (3, 3*100);insert into t210 values (2, 2*100);insert into t210 values (1, 1*100);select * from t210;f1 f25 5004 4003 3002 2001 100UPDATE t110 SET f1=5 where f1=-5;SELECT * from t110 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;f15-4-3-2-1SELECT * from t310 /* must be f3 5*100 */;f3500UPDATE t110 SET f1=5 where f1=-5;UPDATE t110 SET f1=4 where f1=-4;UPDATE t110 SET f1=3 where f1=-3;UPDATE t110 SET f1=2 where f1=-2;UPDATE t110 SET f1=1 where f1=-1;SELECT * from t110 /* must be f1 5 ... 1 */;f154321SELECT * from t310 /* must be f3 5 * 100 ... 100 */;f3500400300200100drop trigger trg110;drop table t210,t310;drop table t110;-------------------9-------------------drop table if exists t19;drop table if exists t29,t39;create table t19 (f1 int) /* 2 replicate */;insert into t19 values (-5);insert into t19 values (-4);insert into t19 values (-3);insert into t19 values (-2);insert into t19 values (-1);select * from t19;f1-5-4-3-2-1create trigger trg19 before update on t19 /* slave local */for each rowbeginDECLARE r integer;SELECT f2 INTO r FROM t29 where f1=NEW.f1;INSERT INTO t39 values (r);end|create table t29 (f1 int, f2 int) /* slave local */;create table t39 (f3 int) /* slave local */;insert into t29 values (5, 5*100);insert into t29 values (4, 4*100);insert into t29 values (3, 3*100);insert into t29 values (2, 2*100);insert into t29 values (1, 1*100);select * from t29;f1 f25 5004 4003 3002 2001 100UPDATE t19 SET f1=5 where f1=-5;SELECT * from t19 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;f15-4-3-2-1SELECT * from t39 /* must be f3 5*100 */;f3500UPDATE t19 SET f1=5 where f1=-5;UPDATE t19 SET f1=4 where f1=-4;UPDATE t19 SET f1=3 where f1=-3;UPDATE t19 SET f1=2 where f1=-2;UPDATE t19 SET f1=1 where f1=-1;SELECT * from t19 /* must be f1 5 ... 1 */;f154321SELECT * from t39 /* must be f3 5 * 100 ... 100 */;f3500400300200100drop trigger trg19;drop table t29,t39;drop table t19;-------------------8-------------------drop table if exists t18;drop table if exists t28,t38;create table t18 (f1 int) /* 2 replicate */;insert into t18 values (-5);insert into t18 values (-4);insert into t18 values (-3);insert into t18 values (-2);insert into t18 values (-1);select * from t18;f1-5-4-3-2-1create trigger trg18 before update on t18 /* slave local */for each rowbeginDECLARE r integer;SELECT f2 INTO r FROM t28 where f1=NEW.f1;INSERT INTO t38 values (r);end|create table t28 (f1 int, f2 int) /* slave local */;create table t38 (f3 int) /* slave local */;insert into t28 values (5, 5*100);insert into t28 values (4, 4*100);insert into t28 values (3, 3*100);insert into t28 values (2, 2*100);insert into t28 values (1, 1*100);select * from t28;f1 f25 5004 4003 3002 2001 100UPDATE t18 SET f1=5 where f1=-5;SELECT * from t18 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;f15-4-3-2-1SELECT * from t38 /* must be f3 5*100 */;f3500UPDATE t18 SET f1=5 where f1=-5;UPDATE t18 SET f1=4 where f1=-4;UPDATE t18 SET f1=3 where f1=-3;UPDATE t18 SET f1=2 where f1=-2;UPDATE t18 SET f1=1 where f1=-1;SELECT * from t18 /* must be f1 5 ... 1 */;f154321SELECT * from t38 /* must be f3 5 * 100 ... 100 */;f3500400300200100drop trigger trg18;drop table t28,t38;drop table t18;-------------------7-------------------drop table if exists t17;drop table if exists t27,t37;create table t17 (f1 int) /* 2 replicate */;insert into t17 values (-5);insert into t17 values (-4);insert into t17 values (-3);insert into t17 values (-2);insert into t17 values (-1);select * from t17;f1-5-4-3-2-1create trigger trg17 before update on t17 /* slave local */for each rowbeginDECLARE r integer;SELECT f2 INTO r FROM t27 where f1=NEW.f1;INSERT INTO t37 values (r);end|create table t27 (f1 int, f2 int) /* slave local */;create table t37 (f3 int) /* slave local */;insert into t27 values (5, 5*100);insert into t27 values (4, 4*100);insert into t27 values (3, 3*100);insert into t27 values (2, 2*100);insert into t27 values (1, 1*100);select * from t27;f1 f25 5004 4003 3002 2001 100UPDATE t17 SET f1=5 where f1=-5;SELECT * from t17 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;f15-4-3-2-1SELECT * from t37 /* must be f3 5*100 */;f3500UPDATE t17 SET f1=5 where f1=-5;UPDATE t17 SET f1=4 where f1=-4;UPDATE t17 SET f1=3 where f1=-3;UPDATE t17 SET f1=2 where f1=-2;UPDATE t17 SET f1=1 where f1=-1;SELECT * from t17 /* must be f1 5 ... 1 */;f154321SELECT * from t37 /* must be f3 5 * 100 ... 100 */;f3500400300200100drop trigger trg17;drop table t27,t37;drop table t17;-------------------6-------------------drop table if exists t16;drop table if exists t26,t36;create table t16 (f1 int) /* 2 replicate */;insert into t16 values (-5);insert into t16 values (-4);insert into t16 values (-3);insert into t16 values (-2);insert into t16 values (-1);select * from t16;f1-5-4-3-2-1create trigger trg16 before update on t16 /* slave local */for each rowbeginDECLARE r integer;SELECT f2 INTO r FROM t26 where f1=NEW.f1;INSERT INTO t36 values (r);end|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -