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 + -
显示快捷键?