如何在表中引用一个字段引用MySQL / MariaDB中的另一个表?

时间:2013-02-03 21:02:58

标签: mysql

假设我正在设置一个只有2个表的小型数据库:feed和feeditems。

在一个表格中,我会存储feedname和url,并将ID作为唯一键。

在第二个表格中,我想存储一些来自Feed项目的信息(例如:日期,标题,项目的url和feedname)。但是,我不想存储Feed名称,而是将此Feed字段引用到第一个表格中该Feed的ID。

由于

1 个答案:

答案 0 :(得分:7)

这是一个如何实现您的要求的简单例子......

CREATE TABLE IF NOT EXISTS `feeds` (
  `Feed_ID` int(11) NOT NULL,
  `Feed_Name` varchar(32) NOT NULL,
  `Feed_Url` varchar(255) NOT NULL,
  PRIMARY KEY (`Feed_ID`)
)

CREATE TABLE IF NOT EXISTS `feeditems` (
  `FeedItem_ID` int(11) NOT NULL,
  `Feed_ID` int(11) NOT NULL,
  `FeedItem_Date` datetime NOT NULL,
  `FeedItem_Title` varchar(255) NOT NULL,
  `FeedItem_Url` varchar(255) NOT NULL,
  `FeedItem_Name` varchar(255) NOT NULL,
  PRIMARY KEY (`FeedItem_ID`),
  FOREIGN KEY (`Feed_ID`) REFERENCES `feeds`(`Feed_ID`)
                      ON DELETE CASCADE
)