Automatic merge
This commit is contained in:
commit
7e26959277
@ -1,4 +1,4 @@
|
|||||||
drop table if exists t1;
|
drop table if exists t1,t2;
|
||||||
create table t1 (
|
create table t1 (
|
||||||
a int not null references t2,
|
a int not null references t2,
|
||||||
b int not null references t2 (c),
|
b int not null references t2 (c),
|
||||||
@ -13,3 +13,30 @@ foreign key (a,b) references t3 (c,d) on update set null);
|
|||||||
create index a on t1 (a);
|
create index a on t1 (a);
|
||||||
create unique index b on t1 (a,b);
|
create unique index b on t1 (a,b);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (id int primary key) engine = innodb;
|
||||||
|
create table t2 (id int PRIMARY KEY, FOREIGN KEY (id) REFERENCES t1(id)) engine=innodb;
|
||||||
|
insert into t1 values (1), (2), (3), (4), (5), (6);
|
||||||
|
insert into t2 values (3), (5);
|
||||||
|
delete from t1;
|
||||||
|
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
|
||||||
|
select * from t1;
|
||||||
|
id
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
delete ignore from t1;
|
||||||
|
Warnings:
|
||||||
|
Error 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
|
||||||
|
Error 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
|
||||||
|
select row_count();
|
||||||
|
row_count()
|
||||||
|
-1
|
||||||
|
select * from t1;
|
||||||
|
id
|
||||||
|
3
|
||||||
|
5
|
||||||
|
drop table t2;
|
||||||
|
drop table t1;
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
# Test syntax of foreign keys
|
# Test syntax of foreign keys
|
||||||
#
|
#
|
||||||
|
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1,t2;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
create table t1 (
|
create table t1 (
|
||||||
@ -23,3 +25,23 @@ create unique index b on t1 (a,b);
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test DELETE IGNORE
|
||||||
|
# Bug#44987 DELETE IGNORE and FK constraint
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (id int primary key) engine = innodb;
|
||||||
|
create table t2 (id int PRIMARY KEY, FOREIGN KEY (id) REFERENCES t1(id)) engine=innodb;
|
||||||
|
insert into t1 values (1), (2), (3), (4), (5), (6);
|
||||||
|
insert into t2 values (3), (5);
|
||||||
|
|
||||||
|
--error 1451
|
||||||
|
delete from t1;
|
||||||
|
select * from t1;
|
||||||
|
|
||||||
|
delete ignore from t1;
|
||||||
|
select row_count();
|
||||||
|
select * from t1;
|
||||||
|
drop table t2;
|
||||||
|
drop table t1;
|
||||||
|
@ -335,8 +335,11 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
|
|||||||
InnoDB it can fail in a FOREIGN KEY error or an
|
InnoDB it can fail in a FOREIGN KEY error or an
|
||||||
out-of-tablespace error.
|
out-of-tablespace error.
|
||||||
*/
|
*/
|
||||||
error= 1;
|
if (!select_lex->no_error)
|
||||||
break;
|
{
|
||||||
|
error= 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user