我正在尝试在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)。

09-20 11:33