MySQL中的一对一关系

Bot*_*tto 5 mysql foreign-keys

我正试图在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`)
)
Run Code Online (Sandbox Code Playgroud)

现在,一旦我设置了这些,我就改变了foo表,以便fooID也成为bar中fooID的外键.我面临的唯一问题是当我尝试插入任何一个时都会出现完整性问题.我想要一些帮助,谢谢.

Chr*_*fer 4

关系数据库中真正的一对一关系最好通过添加列来完成;如果每条记录都需要这两个表中的数据,那么该表应该定义为 foo(fooID, name, barname)。