标签: drop-table

如何检查与表相关的外键

如何在MySql中查看与表相关的外键?

背景:我想在 MySql 中删除一个具有外键约束的表。当我这样做时,我得到了这个:

Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails

如何删除与表相关的外键离开其他人。

mysql foreign-key constraint drop-table

55
推荐指数
1
解决办法
12万
查看次数

如何在一个查询中删除具有公共前缀的多个表?

我正在使用 Microsoft SQL Server 2008。我的问题是:如何在一个查询中删除多个具有公共前缀的表?

类似于那个表名:

LG_001_01_STLINE, 
LG_001_02_STFICHE
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server drop-table

17
推荐指数
2
解决办法
9万
查看次数

删除表花费的时间太长

我有一张桌子,大约有。2 亿行(约 0.5 TB),我想删除它,但它需要很长时间。

它已经运行了2天了。我怀疑回滚功能是造成这种情况的原因。

有没有办法避免回滚功能,以便我可以加快这个过程?我只是想摆脱表格,因为那里的数据不再有价值。

postgresql drop-table postgresql-9.6

12
推荐指数
1
解决办法
2万
查看次数

删除表后缩小数据库?

我在 SQL Server 数据库中有一个包含 70 多万条记录的表,我删除了该表(一次性的事情)以释放磁盘空间,但看起来大小没有太大变化。我确实看到我可以将数据库缩小到最低限度。

这是这样做的方式吗?

上次我使用 SQL Server Management Studio 进行收缩时,花了几个小时才完成。有没有更快的方法?

在此处输入图片说明

sql-server shrink drop-table

8
推荐指数
2
解决办法
2万
查看次数

DROP 和 TRUNCATE 的区别

什么是TRUNCATE做不同的下降?

我相信它会删除表中的所有数据,但将表名保留在数据库中,而 asDROP会删除所有数据和表。这样对吗 ?

mysql truncate drop-table

8
推荐指数
3
解决办法
3万
查看次数

SQL Server - 更改表与删除并创建

我们的数据库是 SQL Server 2008 R2。我们有一些表有一些 varchar(500) 列,我想切换到 datetime2 或 bigint。我可以保证要切换的列中的所有数据对于正确的类型都是有效的。列更改确实会影响索引,但不会影响键。

在与同事讨论时,我们得出了两种解决问题的方法。这两个都将通过 T-Sql 脚本完成。

  1. 通过 select into 创建临时表,删除旧表并使用正确的数据类型重新创建表。重新创建索引。
  2. 通过更改当前表/数据类型 ALTER TABLE x ALTER COLUMN Y datetime2,然后重建或重新创建索引。

因为我相信数据会干净利落地转换,所以我倾向于#2。我的同事和 DBA 朋友更喜欢 #1,但我的同事不记得他们为什么这样训练他。DBA 朋友正在休假,所以我没有问他为什么。

有人可以提供有关他们认为更好的选择以及为什么的见解吗?最终这是我的决定,我想知道为什么 #1 比 #2 更受欢迎?

sql-server t-sql sql-server-2008-r2 alter-table drop-table

7
推荐指数
1
解决办法
1万
查看次数

DROP TABLE ... CASCADE 不删除任何依赖表

我对 psql 还是比较新的,当我决定尝试删除其他表由于外键关系而依赖的表时,我刚刚完成一项作业。我的期望是,任何对我要删除的表有外键引用的表都会(至少)删除它们的所有行并且该表也被删除。此情况并非如此。这些表仍然存在,即使我指定了CASCADE,这些表的行也没有发生任何变化。

但是TRUNCATE ... CASCADE,在引用的表上使用实际上会删除其他表中的行

编辑: 好的,我理解它这样做是因为这是文档指定的方式,但我现在的问题是,这是什么时候预期的行为?

  • 使用 CASCADE 删除域会删除使用该域的任何表中的每一列。
  • 删除带有附加视图的表将删除该视图。

为什么删除一个被其他表引用的表不会删除引用这个表的表是有意义的?方便吗?

postgresql foreign-key drop-table cascade

7
推荐指数
2
解决办法
2万
查看次数

如何撤消 DROP TABLE 语句?

我不小心在错误的表上执行了 DROP TABLE 语句。我有几天前的备份,可以用来恢复表和大部分数据,但不是全部。

我知道 SQL Server 无法回滚已经提交的事务,但我想知道是否有任何其他方法可以取回其余数据。任何帮助,例如一些不常见的 sql scrpts 或类似的东西,将不胜感激。

sql-server drop-table

6
推荐指数
2
解决办法
6万
查看次数

删除更大尺寸的表

我们有一个大小为 2 TB 的 mysql 数据库,其中有 5 个从 110GB 到 350GB 的大表。当我们尝试删除这些表时,mysql 进入 defunct 模式并长时间挂在该状态。有没有办法在不挂 mysql 的情况下删除这些表。我们有一台机器,内存为 122GB,交换为 60GB。我们使用 InnoDB 引擎希望信息足以帮助我们解决这个问题

mysql innodb drop-table

5
推荐指数
1
解决办法
2773
查看次数

在删除约束之前检查表

在 SQL Server 中,我使用以下代码删除带有约束的表:

IF OBJECT_ID('EMPLOYEES') IS NOT NULL
  BEGIN
         ALTER TABLE EMPLOYEES DROP CONSTRAINT EMP_DEPT_FK
         DROP TABLE EMPLOYEES;
  END
Run Code Online (Sandbox Code Playgroud)

如何在 Mysql 中完成同样的事情?

mysql constraint if-not-exists drop-table

5
推荐指数
1
解决办法
825
查看次数