我有两张桌子:
1)kind_basis(基于孩子的数据)
id bigint(20) unsigned NO PRI NULL auto_increment
vorname varchar(64) NO NULL
nachname varchar(64) NO NULL
geburtsland_id bigint(20) unsigned NO MUL NULL
2)liste_land(国家列表)
id bigint(20) unsigned NO PRI NULL auto_increment
iso varchar(2) NO NULL
landname varchar(255) NO NULL
他们之间有一种关联:
ALTER TABLE `kind_basis`
ADD CONSTRAINT `fk_geburtsland_id`
FOREIGN KEY ( `geburtsland_id` )
REFERENCES `liste_land` (`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE ;
为什么可以进行跟随查询?
DELETE
FROM `liste_land`
WHERE `liste_land`.`id` = 6
我不应该收到这样的消息“你可能不会删除该行,因为它被用在另一个表中(kind_basis)?
如果我在liste_land中更新一行,它是否也会在kind_basis中更新?
答案 0 :(得分:2)
ON DELETE RESTRICT
表示如果子行引用该父级的值,则无法删除父行,因此您可能没有该子行。
答案 1 :(得分:0)
而不是试图删除,因为它将表格放在一起使用所有数据,避免错误,避免打破头脑并试图破译捏,或者只是为什么不尝试使用其他工具来开发这些表oracle,有mysqlWorkbench这是非常好的超级容易,并在youtube他的类有很多视频,因为我敢肯定你已经有创造和操作的智慧很容易,我的提示invez尝试删除或更新创建一个新表已经实体和属性你需要不必继续更新或删除,然后将其导入到你想要的地方