关于如何使用MySQL的外键构造有什么好的解释?
我不太了解MySQL文档本身。到目前为止,我一直在通过联接和编程代码处理诸如外键之类的事情。
问题的第二部分,使用MySQL的内置外键是否有任何改进?
FOREIGN KEYS 只要确保您的数据是一致的。
FOREIGN KEYS
他们没有从效率上改善查询,只是使一些错误的查询失败。
如果您有这样的关系:
CREATE TABLE department (id INT NOT NULL) CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
,那么你就不能删除department,如果它有一些employee的。
department
employee
如果你提供ON DELETE CASCADE的FOREIGN KEY定义,引用行会自动与引用的那些一起被删除。
ON DELETE CASCADE
FOREIGN KEY
作为约束,FOREIGN KEY实际上会使查询变慢了一点。
从引用表中删除或插入引用表时,需要执行额外的检查。