mirror of
https://github.com/MariaDB/server.git
synced 2025-07-10 04:22:00 +03:00
Test case cannot run on embedded server. No need for precautionary cleanup of unique names.
74 lines
1.9 KiB
Plaintext
Executable File
74 lines
1.9 KiB
Plaintext
Executable File
CREATE TABLE Bug_60196_FK1 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TABLE Bug_60196_FK2 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TABLE Bug_60196 (
|
|
FK1_Key INT NOT NULL,
|
|
FK2_Key INT NOT NULL,
|
|
PRIMARY KEY (FK2_Key, FK1_Key),
|
|
KEY FK1_Key (FK1_Key),
|
|
KEY FK2_Key (FK2_Key),
|
|
CONSTRAINT FK_FK1 FOREIGN KEY (FK1_Key)
|
|
REFERENCES Bug_60196_FK1 (Primary_Key)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
CONSTRAINT FK_FK2 FOREIGN KEY (FK2_Key)
|
|
REFERENCES Bug_60196_FK2 (Primary_Key)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB;
|
|
INSERT INTO Bug_60196_FK1 VALUES (1), (2), (3), (4), (5);
|
|
INSERT INTO Bug_60196_FK2 VALUES (1), (2), (3), (4), (5);
|
|
INSERT INTO Bug_60196 VALUES (1, 1);
|
|
INSERT INTO Bug_60196 VALUES (1, 2);
|
|
INSERT INTO Bug_60196 VALUES (1, 3);
|
|
INSERT INTO Bug_60196 VALUES (1, 99);
|
|
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`bug_60196`, CONSTRAINT `FK_FK2` FOREIGN KEY (`FK2_Key`) REFERENCES `Bug_60196_FK2` (`Primary_Key`) ON DELETE CASCADE ON UPDATE CASCADE)
|
|
INSERT INTO Bug_60196 VALUES (99, 1);
|
|
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`bug_60196`, CONSTRAINT `FK_FK1` FOREIGN KEY (`FK1_Key`) REFERENCES `Bug_60196_FK1` (`Primary_Key`) ON DELETE CASCADE ON UPDATE CASCADE)
|
|
SELECT * FROM bug_60196_FK1;
|
|
Primary_Key
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
SELECT * FROM bug_60196_FK2;
|
|
Primary_Key
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
SELECT * FROM bug_60196;
|
|
FK1_Key FK2_Key
|
|
1 1
|
|
1 2
|
|
1 3
|
|
# Stop server
|
|
# Restart server.
|
|
#
|
|
# Try to insert more to the example table with foreign keys.
|
|
# Bug60196 causes the foreign key file not to be found after
|
|
# the resstart above.
|
|
#
|
|
SELECT * FROM Bug_60196;
|
|
FK1_Key FK2_Key
|
|
1 1
|
|
1 2
|
|
1 3
|
|
INSERT INTO Bug_60196 VALUES (2, 1);
|
|
INSERT INTO Bug_60196 VALUES (2, 2);
|
|
INSERT INTO Bug_60196 VALUES (2, 3);
|
|
SELECT * FROM Bug_60196;
|
|
FK1_Key FK2_Key
|
|
1 1
|
|
1 2
|
|
1 3
|
|
2 1
|
|
2 2
|
|
2 3
|
|
|
|
# Clean up.
|
|
DROP TABLE Bug_60196;
|
|
DROP TABLE Bug_60196_FK1;
|
|
DROP TABLE Bug_60196_FK2;
|