mirror of
https://github.com/MariaDB/server.git
synced 2025-02-07 06:12:18 +01:00
76 lines
1.7 KiB
Text
76 lines
1.7 KiB
Text
create table t1 (f1 int primary key) engine=innodb;
|
|
create table t2 (f1 int primary key,
|
|
constraint c1 foreign key (f1) references t1(f1)
|
|
on update cascade
|
|
on delete cascade) engine=innodb;
|
|
create table t3 (f1 int primary key,
|
|
constraint c2 foreign key (f1) references t1(f1)
|
|
on update cascade
|
|
on delete cascade) engine=innodb;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`f1` int(11) NOT NULL,
|
|
PRIMARY KEY (`f1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`f1` int(11) NOT NULL,
|
|
PRIMARY KEY (`f1`),
|
|
CONSTRAINT `c1` FOREIGN KEY (`f1`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
|
show create table t3;
|
|
Table Create Table
|
|
t3 CREATE TABLE `t3` (
|
|
`f1` int(11) NOT NULL,
|
|
PRIMARY KEY (`f1`),
|
|
CONSTRAINT `c2` FOREIGN KEY (`f1`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
|
insert into t1 values (1);
|
|
insert into t1 values (2);
|
|
insert into t1 values (3);
|
|
insert into t2 values (1);
|
|
insert into t2 values (2);
|
|
insert into t2 values (3);
|
|
insert into t3 values (1);
|
|
insert into t3 values (2);
|
|
insert into t3 values (3);
|
|
select f1 from t1;
|
|
f1
|
|
1
|
|
2
|
|
3
|
|
select f1 from t2;
|
|
f1
|
|
1
|
|
2
|
|
3
|
|
select f1 from t3;
|
|
f1
|
|
1
|
|
2
|
|
3
|
|
set @save_dbug = @@debug_dbug;
|
|
set debug_dbug = '+d,dml_cascade_only_once';
|
|
set debug_dbug = '+d,row_upd_cascade_lock_wait_err';
|
|
update t1 set f1 = 100 where f1 = 2;
|
|
select f1 from t1;
|
|
f1
|
|
1
|
|
3
|
|
100
|
|
select f1 from t2;
|
|
f1
|
|
1
|
|
3
|
|
100
|
|
select f1 from t3;
|
|
f1
|
|
1
|
|
3
|
|
100
|
|
set debug_dbug = @save_dbug;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop table t1;
|