【发布时间】:2014-10-15 22:08:12
【问题描述】:
我在 MySQL 数据库中有两个表 - parent、child。我正在尝试根据父表向我的子表添加外键引用。 ON UPDATE CASCADE和ON DELETE RESTRICT之间有什么显着区别
我的父表
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
我的问题是:以下 sql 查询有什么区别。
1)
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;
2)
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;
下面的查询有什么错误吗??
3)
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)是什么意思?他们一样吗???
谢谢。
【问题讨论】:
标签: mysql database phpmyadmin foreign-keys foreign-key-relationship