我创建了两个表,它们有一个简单的fk关系。表格如下:
table_1
field_1 (primary key)
table_3
field_1 (fk on table_1)
field_2 (fk on table_2)
然后我用下面的行创建了FK:
ALTER TABLE `table_2`
ADD CONSTRAINT `fk_table_2`
FOREIGN KEY (field_1`) REFERENCES `table_1` (`field_1`);
我期望的是,如果我尝试删除table_1中的记录,其中field_1 = x而另一个具有相同x值的记录在table_2中作为field_1出现,我应该收到错误。 实际上,我没有收到任何错误,并且从table_1中删除了记录,在table_2中留下了孤儿子记录。 我不使用删除级联,因为我想避免这种情况。
为什么我没有收到任何错误?