mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
45 lines
1.6 KiB
Text
45 lines
1.6 KiB
Text
SET DEBUG_SYNC='reset';
|
|
create table t1 (f1 integer, key k1 (f1)) engine=innodb;
|
|
create table t2 (f1 int, f2 int, key(f1), key(f2)) engine=innodb;
|
|
create table t3 (f2 int, key(f2)) engine=innodb;
|
|
insert into t1 values (10);
|
|
insert into t2 values (10, 20);
|
|
insert into t3 values (20);
|
|
alter table t2 add constraint c1 foreign key (f1)
|
|
references t1(f1) on update cascade;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`f1` int(11) DEFAULT NULL,
|
|
KEY `k1` (`f1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`f1` int(11) DEFAULT NULL,
|
|
`f2` int(11) DEFAULT NULL,
|
|
KEY `f1` (`f1`),
|
|
KEY `f2` (`f2`),
|
|
CONSTRAINT `c1` FOREIGN KEY (`f1`) REFERENCES `t1` (`f1`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
show create table t3;
|
|
Table Create Table
|
|
t3 CREATE TABLE `t3` (
|
|
`f2` int(11) DEFAULT NULL,
|
|
KEY `f2` (`f2`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL update_can_proceed
|
|
WAIT_FOR dict_unfreeze';
|
|
alter table t2 add constraint z1 foreign key (f2)
|
|
references t3(f2) on update cascade;
|
|
SET DEBUG_SYNC='innodb_row_update_for_mysql_begin
|
|
WAIT_FOR update_can_proceed';
|
|
SET DEBUG_SYNC='innodb_dml_cascade_dict_unfreeze SIGNAL dict_unfreeze
|
|
WAIT_FOR foreign_free_cache';
|
|
update ignore t1 set f1 = 20;
|
|
ERROR HY000: Error on rename of './test/t2' to '#sql2-temporary' (errno: 183 "Table is being used in foreign key check")
|
|
SET DEBUG_SYNC='now SIGNAL foreign_free_cache';
|
|
drop table t2;
|
|
drop table t1;
|
|
drop table t3;
|
|
SET DEBUG_SYNC='reset';
|