对于一个项目,我需要从数据库的所有表中删除所有数据,我试过了DELETE FROM table1,table2,table3,...;但是它不起作用。有什么建议吗?谢谢
DELETE FROM table1,table2,table3,...;
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查询。使用最后一个选项,您将不得不再次重新创建数据库。
vsmadaxz2#
因为您要删除所有数据表中的所有数据库,所以实际上就是删除数据库。sqlite执行此操作的方法是只删除数据库文件。与postgres、mongodb或大多数数据库不同,sqlite没有服务器,因此不需要调用DROP DATABASE。一旦文件消失,并且您从应用程序打开数据库,您将再次处于空白状态。
DROP DATABASE
2条答案
按热度按时间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查询。使用最后一个选项,您将不得不再次重新创建数据库。
vsmadaxz2#
因为您要删除所有数据表中的所有数据库,所以实际上就是删除数据库。
sqlite执行此操作的方法是只删除数据库文件。
与postgres、mongodb或大多数数据库不同,sqlite没有服务器,因此不需要调用
DROP DATABASE
。一旦文件消失,并且您从应用程序打开数据库,您将再次处于空白状态。