3

我的问题有点类似于这个

我想检查 DELETE 查询是否会因为违反约束而失败。我想在数据库级别执行此操作,因为我认为让它失败并捕获错误是丑陋的。

另一种选择是使用 SELECT 查询“手动”检查它以查看是否存在约束,但这相当乏味,恕我直言。

有没有“本地”的方式来做到这一点?

4

1 回答 1

3

最简单最直接的方法是执行DELETE,并捕获错误。

如果您对其他表运行 SELECT 语句,您可能会了解行是否存在(暗示外键约束)。但是外键约束只是多种完整性约束中的一种。

您还必须考虑一些完整性约束可能会使用触发器来实现(出于好的原因、坏的原因或根本没有原因)。

于 2011-01-04T11:40:56.960 回答