|
|
1
426
对的不能截断具有FK约束的表。 通常,我的流程是:
(当然,这一切都是在交易中发生的。) 当然,这仅适用于以下情况: 子项已被截断。 否则我会走另一条路,完全取决于数据的外观。(变量太多,无法进入此处。) this answer 更多细节。 |
|
|
2
425
请注意,如果您有数百万条以上的记录,这可能不是您想要的,因为它非常慢。 |
|
3
232
因为
这就是为什么
|
|
|
4
112
没有
作为存储过程https://github.com/reduardo7/TableTruncate 笔记 如果你有数百万条以上的记录,这可能不是你想要的,因为它非常慢。 |
|
|
5
82
|
|
|
6
22
使用delete语句删除该表中的所有行后,请使用以下命令
编辑:已更正SQL Server的语法 |
|
|
7
21
好吧,既然我没有找到 的 很简单
下面是:
3) 截断表
就这样。 |
|
|
8
19
该过程正在删除外键约束并截断表 然后通过以下步骤添加约束。
|
|
|
9
14
通过
如果出现错误,则必须重新设置主表的种子。 |
|
|
10
13
下面是我编写的一个脚本,用于自动化该过程。我希望有帮助。
|
|
|
11
9
@丹佛大学公民和@Peter Szanto的答案对我来说不太合适,但我修改了它们以说明:
|
|
|
12
8
确保将其包装在事务中;)
|
|
13
8
如果我理解正确,你会怎么做 希望 要做的是为涉及集成测试的DB建立一个干净的环境。 我在这里的方法是删除整个模式,然后重新创建它。 原因:
|
|
|
14
6
在网上其他地方可以找到
|
|
15
5
truncate对我不起作用,删除+重新设定种子是最好的解决方法。 如果有些人需要迭代大量的表来执行delete+reseed,您可能会遇到一些没有标识列的表的问题,下面的代码会在尝试重新设置标识列之前检查标识列是否存在
|
|
|
16
5
我编写了以下方法并尝试将它们参数化,因此
你可以
把它们放在一个盒子里
A) 删除如果 你的桌子 这是一个好办法 没有任何更改命令 :
如果 你的桌子 有数百万张唱片 改变命令 在代码中,然后使用以下代码:
|
|
|
17
4
唯一的方法是在执行截断之前删除外键。在截断数据之后,必须重新创建索引。 以下脚本生成删除所有外键约束所需的SQL。
接下来,以下脚本生成重新创建外键所需的SQL。
运行生成的脚本删除所有外键,截断表,然后运行生成的脚本重新创建所有外键。 这些查询来自 here . |
|
|
18
3
这是我解决这个问题的办法。我用它来改变PK,但想法是一样的。希望这会有用)
|
|
19
3
|
|
|
20
3
以下内容即使在使用FK约束的情况下也适用于我,并结合了以下问题的答案: 只删除指定的表 :
注: 我认为按照您希望删除表的顺序声明表仍然有帮助(即先杀死依赖项)。如图所示 this answer ,而不是循环特定的名称,您可以用
|
|
|
21
2
如果这些答案中没有一个与我的情况类似,请执行以下操作:
祝你好运 |
|
|
22
1
然后
|
|
|
23
0
|
|
|
24
0
如果你以任何频率做这件事,即使是在日程安排上,我也会这么做
绝对,绝对不要使用DML语句。
写入事务日志的成本非常高,将整个数据库设置为
不幸的是,最好的方法是艰难或艰苦的方法。即:
我这样做的过程包括以下步骤:
这种性质的剧本
应该
|
|
|
25
0
这是一个使用实体框架的示例
|
|
|
26
-4
服务器将向您显示限制和表的名称,删除该表可以删除您需要的内容。 |
|
|
27
-4
小孩 先上桌。 例如。 外键约束子表上的子表,引用父表
|
|
|
28
-4
|
|
|
29
-6
truncate foreign key constrained table 在MYSQL中为我工作 |