Postgresql 从4个不同的表中删除数据
我有4个不同的表,我想删除一行,但它说:id仍然是从表“parts”引用的。如何从表Car中删除特定的Car(例如id=10)并删除所有数据,而不删除所有表和数据?我用Delete-Restrict创建了表Postgresql 从4个不同的表中删除数据,postgresql,Postgresql,我有4个不同的表,我想删除一行,但它说:id仍然是从表“parts”引用的。如何从表Car中删除特定的Car(例如id=10)并删除所有数据,而不删除所有表和数据?我用Delete-Restrict创建了表 Table Car: variables Table Repair: variables, car_id integer NOT NULL REFERENCES car(id) ON UPDATE CASCADE ON DELETE RESTRICT Table Parts: vari
Table Car:
variables
Table Repair:
variables,
car_id integer NOT NULL REFERENCES car(id) ON UPDATE CASCADE ON DELETE RESTRICT
Table Parts:
variables,
repair_id integer NOT NULL REFERENCES repair(id) ON UPDATE CASCADE ON DELETE RESTRICT
Table Shop:
variables, part_id integer NOT NULL REFERENCES part(id) ON UPDATE CASCADE ON DELETE RESTRICT
您在DELETE RESTRICT上设置了自己的
,因此如果仍然被引用,它将限制删除。您必须在事务中删除现有FK
添加新的在删除级联上更新级联上的引用汽车(id)
然后您将能够删除级联…尝试使用删除级联而不是删除限制来更改您的引用。如果我更改为删除级联,它将从所有表中删除id=10的car引用的特定数据?所有这些都与问题无关,您可以编写伪代码,然后询问删除限制的功能。因此,没有“join”选项,然后删除?当然有-我想您希望取消限制。只需从每个表中逐个删除以下引用即可全部在一个执行的查询中执行?因为我试图在一个命令中执行它,但仍然会出错