Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 从4个不同的表中删除数据_Postgresql - Fatal编程技术网

Postgresql 从4个不同的表中删除数据

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

我有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:
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”选项,然后删除?当然有-我想您希望取消限制。只需从每个表中逐个删除以下引用即可全部在一个执行的查询中执行?因为我试图在一个命令中执行它,但仍然会出错