--echo # --echo # Bug #27453180 FOREIGN KEYS CONSTRAINTS IGNORED AFTER RENAME TABLE --echo # SET FOREIGN_KEY_CHECKS=0; CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk)); show create table child; SELECT * FROM INFORMATION_SCHEMA.INNODB_FOREIGN; SELECT * FROM INFORMATION_SCHEMA.INNODB_FOREIGN_COLS; INSERT INTO child VALUES (1); CREATE TABLE parent0 (pk INT PRIMARY KEY); INSERT INTO parent0 VALUES (1); RENAME TABLE parent0 TO parent; SET FOREIGN_KEY_CHECKS=1; --error ER_ROW_IS_REFERENCED_2 DELETE FROM parent; DROP TABLE child; DROP TABLE parent; SET FOREIGN_KEY_CHECKS=0; CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk)); show create table child; SELECT * FROM INFORMATION_SCHEMA.INNODB_FOREIGN; SELECT * FROM INFORMATION_SCHEMA.INNODB_FOREIGN_COLS; INSERT INTO child VALUES (1); CREATE TABLE parent0 (pk INT PRIMARY KEY); INSERT INTO parent0 VALUES (1); ALTER TABLE parent0 RENAME parent; SET FOREIGN_KEY_CHECKS=1; --error ER_ROW_IS_REFERENCED_2 DELETE FROM parent; DROP TABLE child; DROP TABLE parent;