mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
41 lines
960 B
Text
41 lines
960 B
Text
#
|
|
# Test Foreign Key Cascading UPDATEs
|
|
#
|
|
|
|
--source include/galera_cluster.inc
|
|
--source include/have_innodb.inc
|
|
|
|
CREATE TABLE grandparent (
|
|
id INT NOT NULL PRIMARY KEY
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE parent (
|
|
id INT NOT NULL PRIMARY KEY,
|
|
grandparent_id INT,
|
|
FOREIGN KEY (grandparent_id)
|
|
REFERENCES grandparent(id)
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE child (
|
|
id INT NOT NULL PRIMARY KEY,
|
|
grandparent_id INT,
|
|
FOREIGN KEY (grandparent_id)
|
|
REFERENCES parent(grandparent_id)
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
INSERT INTO grandparent VALUES (1),(2);
|
|
INSERT INTO parent VALUES (1,1), (2,2);
|
|
INSERT INTO child VALUES (1,1), (2,2);
|
|
|
|
--connection node_2
|
|
UPDATE grandparent SET id = 3 WHERE id = 1;
|
|
|
|
--connection node_1
|
|
SELECT COUNT(*) = 1 FROM parent WHERE grandparent_id = 3;
|
|
SELECT COUNT(*) = 1 FROM child WHERE grandparent_id = 3;
|
|
|
|
DROP TABLE child;
|
|
DROP TABLE parent;
|
|
DROP TABLE grandparent;
|