如何一次删除多个表的记录?Sqlite

ar5n3qh5  于 2022-12-13  发布在  SQLite
关注(0)|答案(2)|浏览(466)

对于一个项目,我需要从数据库的所有表中删除所有数据,
我试过了
DELETE FROM table1,table2,table3,...;
但是它不起作用。有什么建议吗?谢谢

ui7jx7zq

ui7jx7zq1#

我想推荐你到这个相关的职位
How do I use cascade delete with SQL Server?
因为你会发现有几个可能的解决方案。
当使用SQL时,这意味着您的数据是关系,这意味着大多数记录在不同的表中以某种方式相关,这种关系用外键表示。但是,当试图删除与另一个表中的数据相关的数据时,应实现级联删除。另一种方法是添加名为isDeleted附加布尔列(当然是举例),在这个特定的列中将特定的行更改为真,然后通过首选项过滤。希望我已经设法提供了替代和/或可能的解决方案来解决你的问题。
也留下这个链接,其中给出了级联删除的一些例子和如何实现它的指南。-〉
https://www.sqlshack.com/delete-cascade-and-update-cascade-in-sql-server-foreign-key/
另外,如果您只想删除所有数据,您可以使用TRUNCATE TABLE或DROP DATABASE查询。使用最后一个选项,您将不得不再次重新创建数据库。

vsmadaxz

vsmadaxz2#

因为您要删除所有数据表中的所有数据库,所以实际上就是删除数据库。
sqlite执行此操作的方法是只删除数据库文件。
与postgres、mongodb或大多数数据库不同,sqlite没有服务器,因此不需要调用DROP DATABASE
一旦文件消失,并且您从应用程序打开数据库,您将再次处于空白状态。

相关问题