summaryrefslogtreecommitdiff
path: root/mysql-test/r/foreign_key_checks_func.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/r/foreign_key_checks_func.result')
-rw-r--r--mysql-test/r/foreign_key_checks_func.result59
1 files changed, 59 insertions, 0 deletions
diff --git a/mysql-test/r/foreign_key_checks_func.result b/mysql-test/r/foreign_key_checks_func.result
new file mode 100644
index 00000000000..c2898293f83
--- /dev/null
+++ b/mysql-test/r/foreign_key_checks_func.result
@@ -0,0 +1,59 @@
+'#--------------------FN_DYNVARS_032_01-------------------------#'
+SET @@session.foreign_key_checks = 0;
+'connect (con1,localhost,root,,,,)'
+'connection con1'
+SELECT @@session.foreign_key_checks;
+@@session.foreign_key_checks
+1
+SET @@session.foreign_key_checks = 1;
+'connect (con2,localhost,root,,,,)'
+'connection con2'
+SELECT @@session.foreign_key_checks;
+@@session.foreign_key_checks
+1
+'#--------------------FN_DYNVARS_032_02-------------------------#'
+'connection con1'
+DROP TABLE IF EXISTS t1,t2;
+CREATE TABLE t1(a INT PRIMARY KEY)ENGINE = INNODB;
+CREATE TABLE t2(a INT PRIMARY KEY,b INT)ENGINE = INNODB;
+ALTER TABLE t2
+ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a);
+'---Check when foreign_key_checks is enabled---'
+SET @@session.foreign_key_checks = 1;
+INSERT INTO t1 values (1),(2),(3);
+INSERT INTO t2 values (10,1);
+INSERT INTO t2 values (20,22);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
+'---Check when foreign_key_checks is disabled---'
+TRUNCATE t1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
+SET @@session.foreign_key_checks = 0;
+TRUNCATE t1;
+TRUNCATE t2;
+INSERT INTO t1 values (1),(2),(3);
+INSERT INTO t2 values (10,1);
+INSERT INTO t2 values (20,4);
+'try enabling foreign_key_checks again';
+SET @@session.foreign_key_checks = 1;
+UPDATE t2 SET b=4 where a=20;
+'Bug#35358: Updating an incorrect foreign key(inserted by disabling '
+'foreign_key_checks)to the same value does not raise error after '
+'enabling foreign_key_checks'
+'Check when foreign_key_checks is enabled and FK constraint is re-created'
+SET @@session.foreign_key_checks = 0;
+TRUNCATE t2;
+TRUNCATE t1;
+INSERT INTO t1 values (1),(2),(3);
+INSERT INTO t2 values (10,1),(20,4);
+ALTER TABLE t2 DROP FOREIGN KEY fk;
+SET @@session.foreign_key_checks = 1;
+DELETE FROM t2 WHERE b not in (SELECT a from t1);
+ALTER TABLE t2
+ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a);
+INSERT INTO t2 values (20,2);
+SELECT * from t2;
+a b
+10 1
+20 2
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t1;