我正在尝试在MySQL数据库中建立一对一的关系。我正在使用InnoDB引擎,基本表如下所示:
CREATE TABLE `foo` (
`fooID` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` TEXT NOT NULL
)
CREATE TABLE `bar` (
`barName` VARCHAR(100) NOT NULL,
`fooID` INT(11) NOT NULL PRIMARY KEY,
CONSTRAINT `contact` FOREIGN KEY (`fooID`) REFERENCES `foo`(`fooID`)
)
现在,一旦完成这些设置,就可以更改foo表,以便fooID也成为bar中fooID的外键。
我所面临的唯一问题是,当我尝试插入其中任何一个时,都会出现完整性问题。
我需要一些帮助,谢谢。
最佳答案
关系数据库中真正的一对一关系最好通过添加一列来完成。如果每条记录始终需要这两个表中的数据,则应将表定义为foo(fooID,名称,barname)。