假设您在 MySQL 数据库中有如下两个表:
table 上的人:
primary key: PERSON_ID,
NAME,
SURNAME, etc.
表地址:
primary key: ADDRESS_ID,
foreign key: PERSON_ID,
addressLine1, etc.
如果您通过 PHP 管理行的创建(在两个表中)和数据的检索,您还需要在数据库中创建物理关系吗?如果是,为什么?
最佳答案
是的,一个具体的原因是如果您想连接表,可以更快地检索行。创建外键约束会自动在列上创建索引。
所以表地址的架构应该是这样的,(假设 People
的表主键是 PERSON_ID
)
CREATE TABLE Address
(
Address_ID INT,
Person_ID INT,
......,
CONSTRAINT tb_pk PRIMARY KEY (Address_ID),
CONTRRAINT tb_fk FOREIGN KEY (Person_ID)
REFERENCES People(Person_ID)
)
关于php - MySQL需要设置外键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086160/