2013-02-03 53 views
4

假設我建立了一個只有2個表的小型數據庫:feed和feeditems。如何使表中的字段引用MySQL/MariaDB中的另一個表?

在一個表中,我將存儲feedname和url,並將ID作爲唯一鍵。

在第二個表中,我想存儲來自Feed項目的一些信息(例如:日期,標題,項目的URL和Feedname)。但是,我不想存儲訂閱源名稱,而想在第一個表格中將此訂閱源字段引用到該訂閱源的ID。

感謝

+1

這twо文章可以幫助你實現你的目標。 [參照完整性](http://en.wikipedia.org/wiki/Referential_integrity)和[FOREIGN KEY Constraints](http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key- constraints.html) –

+0

閱讀外鍵 –

+0

謝謝,我會仔細研究一下。對於該關鍵字,SO似乎也存在一些問題。 – versvs

回答

6

這如何實現您的要求,一個簡單的例子...

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 
) 
相關問題