trigger-trans.result

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· RESULT 代码 · 共 144 行

RESULT
144
字号
drop table if exists t1;create table t1 (a varchar(16), b int) engine=innodb;create trigger t1_bi before insert on t1 for each rowbeginset new.a := upper(new.a);set new.b := new.b + 3;end|select trigger_schema, trigger_name, event_object_schema,event_object_table, action_statement from information_schema.triggerswhere event_object_schema = 'test' and event_object_table = 't1';trigger_schema	trigger_name	event_object_schema	event_object_table	action_statementtest	t1_bi	test	t1	beginset new.a := upper(new.a);set new.b := new.b + 3;endinsert into t1 values ('The Lion', 10);select * from t1;a	bTHE LION	13optimize table t1;Table	Op	Msg_type	Msg_texttest.t1	optimize	status	OKselect trigger_schema, trigger_name, event_object_schema,event_object_table, action_statement from information_schema.triggerswhere event_object_schema = 'test' and event_object_table = 't1';trigger_schema	trigger_name	event_object_schema	event_object_table	action_statementtest	t1_bi	test	t1	beginset new.a := upper(new.a);set new.b := new.b + 3;endinsert into t1 values ('The Unicorn', 20);select * from t1;a	bTHE LION	13THE UNICORN	23alter table t1 add column c int default 0;select trigger_schema, trigger_name, event_object_schema,event_object_table, action_statement from information_schema.triggerswhere event_object_schema = 'test' and event_object_table = 't1';trigger_schema	trigger_name	event_object_schema	event_object_table	action_statementtest	t1_bi	test	t1	beginset new.a := upper(new.a);set new.b := new.b + 3;endinsert into t1 values ('Alice', 30, 1);select * from t1;a	b	cTHE LION	13	0THE UNICORN	23	0ALICE	33	1alter table t1 rename to t1;select trigger_schema, trigger_name, event_object_schema,event_object_table, action_statement from information_schema.triggerswhere event_object_schema = 'test' and event_object_table = 't1';trigger_schema	trigger_name	event_object_schema	event_object_table	action_statementtest	t1_bi	test	t1	beginset new.a := upper(new.a);set new.b := new.b + 3;endinsert into t1 values ('The Crown', 40, 1);select * from t1;a	b	cTHE LION	13	0THE UNICORN	23	0ALICE	33	1THE CROWN	43	1alter table t1 rename to t1, add column d int default 0;select trigger_schema, trigger_name, event_object_schema,event_object_table, action_statement from information_schema.triggerswhere event_object_schema = 'test' and event_object_table = 't1';trigger_schema	trigger_name	event_object_schema	event_object_table	action_statementtest	t1_bi	test	t1	beginset new.a := upper(new.a);set new.b := new.b + 3;endinsert into t1 values ('The Pie', 50, 1, 1);select * from t1;a	b	c	dTHE LION	13	0	0THE UNICORN	23	0	0ALICE	33	1	0THE CROWN	43	1	0THE PIE	53	1	1drop table t1;Bug#26141 mixing table types in trigger causes fulltable lock on innodb tableEnsure we do not open and lock tables for the triggers we do notfire.drop table if exists t1, t2, t3;drop trigger if exists trg_bug26141_au;drop trigger if exists trg_bug26141_ai;create table t1 (c int primary key) engine=innodb;create table t2 (c int) engine=myisam;create table t3 (c int) engine=myisam;insert into t1 (c) values (1);create trigger trg_bug26141_ai after insert on t1for each rowbegininsert into t2 (c) values (1);# We need the 'sync' lock to synchronously wait in connection 2 till # the moment when the trigger acquired all the locks.select release_lock("lock_bug26141_sync") into @a;# 1000 is time in seconds of lock wait timeout -- this is a way# to cause a manageable sleep up to 1000 secondsselect get_lock("lock_bug26141_wait", 1000) into @a;end|create trigger trg_bug26141_au after update on t1for each rowbegininsert into t3 (c) values (1);end|select get_lock("lock_bug26141_wait", 0);get_lock("lock_bug26141_wait", 0)1select get_lock("lock_bug26141_sync", /* must not be priorly locked */ 0);get_lock("lock_bug26141_sync", /* must not be priorly locked */ 0)1insert into t1 (c) values (2);select get_lock("lock_bug26141_sync", 1000);get_lock("lock_bug26141_sync", 1000)1update t1 set c=3 where c=1;select release_lock("lock_bug26141_sync");release_lock("lock_bug26141_sync")1select release_lock("lock_bug26141_wait");release_lock("lock_bug26141_wait")1select * from t1;c23select * from t2;c1select * from t3;c1drop table t1, t2, t3;End of 5.0 tests

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?