我想知道是否有一个选项可以检查数据库的引用完整性,而无需手动检查所有内容。我必须提到,我是SQL的新手,并且有检查引用完整性的任务。
通过搜索,我发现了这个问题:如何查找违反参照完整性的记录
这已经很有帮助了,但我得到了很多表格,我想知道是否有比以我找到的问题格式编写数百个查询更快的方法。
感谢您的帮助,彝
编辑:我知道大多数数据库会自动检查,但我是一名学生,任务说"这些脚本应该说明数据库的更新和引用完整性。!请明确指出检查参照完整性的位置(添加行、修改行、删除行)。"
所以我想我必须手动检查它。
大多数数据库都会检查引用,就像MySQL一样。所以看看FOREIGN KEY
和REFERENCES
命令
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;
子项自动检查,需要父行。如果删除父行,则所有子行都将删除到 (在删除级联时)。