MySQLデータベースに2つのテーブルがありますparent
- child
。親テーブルに基づいて、子テーブルに外部キー参照を追加しようとしています。間の有意差があるON UPDATE CASCADE
とは、ON DELETE CASCADE
私の親テーブル
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
私の質問は次のとおりです。次のSQLクエリの違いは何ですか。
ON DELETE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB;
ON UPDATE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE ) ENGINE=INNODB;
ON UPDATE CASCADE ON DELETE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=INNODB;
クエリにエラーはありますか?これらのクエリ(1、2&3)はどういう意味ですか?? 彼らは同じですか?