我想知道这个测试问题。我自己准备了示例并对其进行了测试,但我仍然不确定答案。
具有以下内容:
CREATE TABLE foo (
id INT PRIMARY KEY AUTO_INCREMENT,
name INT
)
CREATE TABLE foo2 (
id INT PRIMARY KEY AUTO_INCREMENT,
foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)
据我所知,答案是:
一种。创建了两个表
虽然也有:
湾。如果删除表 foo2 中 foo_id 为 2 的行,则表 foo 中 id=2 的行被自动删除
d.如果删除表foo中id=2的行,则删除表foo2中所有foo_id=2的行
在我的示例中,我将使用删除语法:
DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;
出于某种原因,我无法找到表之间的任何关系,尽管看起来应该有一个。也许有一些 MySQL 设置或者ON DELETE CASCADE
在表创建查询中没有正确使用?我很想知道...