|
1 |
| -drop table if exists t1, t2, t3; |
| 1 | +drop table if exists t1, t2, t3, t4; |
2 | 2 | drop view if exists v1;
|
3 | 3 | drop database if exists mysqltest;
|
4 | 4 | drop function if exists f1;
|
@@ -785,6 +785,107 @@ create trigger test.t1_bi before insert on t1 for each row set @a:=0;
|
785 | 785 | ERROR 3D000: No database selected
|
786 | 786 | drop trigger t1_bi;
|
787 | 787 | ERROR 3D000: No database selected
|
| 788 | +create table t1 (id int); |
| 789 | +create trigger t1_bi before insert on t1 for each row set @a:=new.id; |
| 790 | +insert into t1 values (101); |
| 791 | +select @a; |
| 792 | +@a |
| 793 | +101 |
| 794 | +select trigger_schema, trigger_name, event_object_schema, |
| 795 | +event_object_table, action_statement from information_schema.triggers |
| 796 | +where event_object_schema = 'test'; |
| 797 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 798 | +test t1_bi test t1 set @a:=new.id |
| 799 | +rename table t1 to t2; |
| 800 | +insert into t2 values (102); |
| 801 | +select @a; |
| 802 | +@a |
| 803 | +102 |
| 804 | +select trigger_schema, trigger_name, event_object_schema, |
| 805 | +event_object_table, action_statement from information_schema.triggers |
| 806 | +where event_object_schema = 'test'; |
| 807 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 808 | +test t1_bi test t2 set @a:=new.id |
| 809 | +alter table t2 rename to t3; |
| 810 | +insert into t3 values (103); |
| 811 | +select @a; |
| 812 | +@a |
| 813 | +103 |
| 814 | +select trigger_schema, trigger_name, event_object_schema, |
| 815 | +event_object_table, action_statement from information_schema.triggers |
| 816 | +where event_object_schema = 'test'; |
| 817 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 818 | +test t1_bi test t3 set @a:=new.id |
| 819 | +alter table t3 rename to t4, add column val int default 0; |
| 820 | +insert into t4 values (104, 1); |
| 821 | +select @a; |
| 822 | +@a |
| 823 | +104 |
| 824 | +select trigger_schema, trigger_name, event_object_schema, |
| 825 | +event_object_table, action_statement from information_schema.triggers |
| 826 | +where event_object_schema = 'test'; |
| 827 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 828 | +test t1_bi test t4 set @a:=new.id |
| 829 | +drop trigger t1_bi; |
| 830 | +drop table t4; |
| 831 | +create database mysqltest; |
| 832 | +use mysqltest; |
| 833 | +create table t1 (id int); |
| 834 | +create trigger t1_bi before insert on t1 for each row set @a:=new.id; |
| 835 | +insert into t1 values (101); |
| 836 | +select @a; |
| 837 | +@a |
| 838 | +101 |
| 839 | +select trigger_schema, trigger_name, event_object_schema, |
| 840 | +event_object_table, action_statement from information_schema.triggers |
| 841 | +where event_object_schema = 'test' or event_object_schema = 'mysqltest'; |
| 842 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 843 | +mysqltest t1_bi mysqltest t1 set @a:=new.id |
| 844 | +rename table t1 to test.t2; |
| 845 | +ERROR HY000: Trigger in wrong schema |
| 846 | +insert into t1 values (102); |
| 847 | +select @a; |
| 848 | +@a |
| 849 | +102 |
| 850 | +select trigger_schema, trigger_name, event_object_schema, |
| 851 | +event_object_table, action_statement from information_schema.triggers |
| 852 | +where event_object_schema = 'test' or event_object_schema = 'mysqltest'; |
| 853 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 854 | +mysqltest t1_bi mysqltest t1 set @a:=new.id |
| 855 | +drop trigger test.t1_bi; |
| 856 | +ERROR HY000: Trigger does not exist |
| 857 | +drop trigger t1_bi; |
| 858 | +drop table t1; |
| 859 | +drop database mysqltest; |
| 860 | +use test; |
| 861 | +create table t1 (id int); |
| 862 | +create trigger t1_bi before insert on t1 for each row set @a:=new.id; |
| 863 | +create trigger t1_ai after insert on t1 for each row set @b:=new.id; |
| 864 | +insert into t1 values (101); |
| 865 | +select @a, @b; |
| 866 | +@a @b |
| 867 | +101 101 |
| 868 | +select trigger_schema, trigger_name, event_object_schema, |
| 869 | +event_object_table, action_statement from information_schema.triggers |
| 870 | +where event_object_schema = 'test'; |
| 871 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 872 | +test t1_bi test t1 set @a:=new.id |
| 873 | +test t1_ai test t1 set @b:=new.id |
| 874 | +rename table t1 to t2; |
| 875 | +ERROR HY000: Can't create/write to file './test/t1_ai.TRN~' (Errcode: 13) |
| 876 | +insert into t1 values (102); |
| 877 | +select @a, @b; |
| 878 | +@a @b |
| 879 | +102 102 |
| 880 | +select trigger_schema, trigger_name, event_object_schema, |
| 881 | +event_object_table, action_statement from information_schema.triggers |
| 882 | +where event_object_schema = 'test'; |
| 883 | +trigger_schema trigger_name event_object_schema event_object_table action_statement |
| 884 | +test t1_bi test t1 set @a:=new.id |
| 885 | +test t1_ai test t1 set @b:=new.id |
| 886 | +drop trigger t1_bi; |
| 887 | +drop trigger t1_ai; |
| 888 | +drop table t1; |
788 | 889 | create table t1 (i int);
|
789 | 890 | create trigger t1_bi before insert on t1 for each row return 0;
|
790 | 891 | ERROR 42000: RETURN is only allowed in a FUNCTION
|
|
0 commit comments