假设您有一个表(A),其中包含有限数量的数据,并且作为主键的字段之一被其他表中的许多外键而不是一个外键引用。
这些表的外键对前面提到的 table(A) 有约束,如果 table(A) 中的一行被删除并且其他表 FK 之一持有对它的引用,删除将失败。
好的,数据库设计已经完成,现在是软件的问题,在这种情况下是 PHP。试图从 table(A) 中删除一行,如果持有引用,应该如何检查以确保该行不能被删除?
我见过事先检查每个表的情况,但是这涉及在每次检查中进行编码,这成为维护的噩梦。此外,我不能简单地尝试删除,因为这需要是一个跨数据库应用程序,因此返回的错误代码不会是一致的。
我很想知道人们通常如何处理这种情况。我提到我正在使用 PHP,但这种情况应该适用于任何语言。