Ste*_*eve 3 mysql sql foreign-keys
我有一个表,其中一列作为外键连接到另一个表.这是一个板球问题,我有一个名为Fixtures的桌子和另一个名为Inning的桌子.
Inning表有一个FixtureId列,与Fixture表有关.
我希望如果我使用与Fixture无关的FixtureId对inning表进行插入,那么它会出错,但事实并非如此......
谁能解释为什么会这样?
创建表时,请确保使用InnoDB存储引擎.其他存储引擎将简单地忽略外键约束.(来源)
例:
CREATE TABLE a (
id INT AUTO_INCREMENT PRIMARY KEY
) ENGINE=INNODB;
CREATE TABLE b (
id INT AUTO_INCREMENT PRIMARY KEY,
a_id INT,
FOREIGN KEY (a_id) REFERENCES a(id)
) ENGINE=INNODB;
INSERT INTO b (id, a_id) VALUES(NULL, 1);
Run Code Online (Sandbox Code Playgroud)
上面的插入失败了:
错误1452(23000):无法添加或更新子行:外键约束失败...
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |