1

我想知道是否有一个选项可以在不手动检查所有内容的情况下检查我的数据库的引用完整性。我必须提到,我对 SQL 完全陌生,并且有任务检查引用完整性。

通过搜索,我发现了这个问题: 如何找到违反参照完整性的记录

这已经很有帮助,但是我得到了很多表,我想知道是否有比以我发现的问题的格式编写数百个查询更快的方法。

谢谢你的帮助,Yu

编辑:我知道大多数数据库会自动检查,但我是学生,任务说“这些脚本应该说明数据库的更新和引用完整性。!请明确指出检查引用完整性的位置(添加行,修改行,删除行)。”

所以我想我必须手动检查它。

4

1 回答 1

1

大多数数据库检查引用,例如 MySQL。所以看看FOREIGN KEYREFERENCES命令

http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

来自 MySQL 页面的示例

CREATE TABLE parent (
    id INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE child (
    id INT, 
    parent_id INT,
    INDEX par_ind (parent_id),
    FOREIGN KEY (parent_id) 
        REFERENCES parent(id)
        ON DELETE CASCADE
) ENGINE=INNODB;

子自动检查并需要父行。如果删除父级,所有子行都将删除到(ON DELETE CASCADE)。

于 2015-01-08T12:42:47.870 回答