Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/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
如何在sqlite中从多个表中删除数据?_Sqlite - Fatal编程技术网

如何在sqlite中从多个表中删除数据?

如何在sqlite中从多个表中删除数据?,sqlite,Sqlite,我正在使用sqlite数据库来存储数据。我有三张表:发票、发票行、发票明细表 表之间的关系是: Invoice.Id = InvRow.InvId InvRow.Id = Invdetails.RowId 我需要使用一个查询从三个表中删除相关条目。我该怎么做? 有什么帮助吗?3.6.19版(2009年10月14日)之前的SQLite不支持外键约束,但您可以 但是,SQLite在[UPDATE | DELETE]CASCADE子句上支持property with,这将满足您的需要。Alex B

我正在使用sqlite数据库来存储数据。我有三张表:发票、发票行、发票明细表

表之间的关系是:

Invoice.Id = InvRow.InvId
InvRow.Id = Invdetails.RowId 
我需要使用一个查询从三个表中删除相关条目。我该怎么做?
有什么帮助吗?

3.6.19版(2009年10月14日)之前的SQLite不支持外键约束,但您可以


但是,SQLite在[UPDATE | DELETE]CASCADE子句上支持property with
,这将满足您的需要。

Alex B提供了一个很好的答案,但它对我不起作用。现在工作太多了

不幸的是,我不得不在两个语句中删除,但结果很好。我有两个表,movies和movie_providers,movie_providers是一个连接表,告诉哪个提供商正在显示我的电影

我想要:
从电影中删除,其中movie.id=movie\u providers.movie\u id和[我的约束]

但必须执行两个步骤

DELETE FROM movies WHERE [my constraint]
DELETE FROM movie_providers where movie_id NOT IN (SELECT DISTINCT id FROM movies)

这假设我以前在电影和电影提供商之间有一致性。如果没有,我只是创建了一致性。

Hi Checkers,与手动删除相比,删除性能如何?谢谢