2012-04-27 31 views
1

讓我們假設我有以下表分配整個表爲其他表

create table Article 
(
    ART_ID  bigint not null auto_increment, 
    ART_NAME  varchar(25) not null, 
    ART_COST  decimal(8,2) not null, 
    ART_DESC  text, 
    primary key(ART_ID) 
); 

而且該表

create table Fruits 
(
    FRUITS_ID  bigint not null auto_increment, 
    FRUITS_TYPE varchar(15), 
    FRUITS_FROZEN timestamp DEFAULT CURRENT_TIMESTAMP, 
    primary key(FRUITS_ID) 
); 

我想要的水果表有表文章的所有領域。我怎樣才能實現這個?我應該通過某種關係來引用它,還是有另一個竅門?

+0

「擁有水果中的文章的所有領域」的目的是什麼? – 2012-04-27 21:12:03

+2

你想要改變'Fruits'表的結構,還是僅僅查詢數據庫中的一些結果集合來組合這兩個表? – eggyal 2012-04-27 21:12:05

+1

目前還不清楚水果桌如何與物品表相關。水果是文章嗎?或者你只是想能夠存儲水果的相同類型的數據? – 2012-04-27 21:13:30

回答

0

我認爲您需要的是將ARTICLE_ID字段添加到Fruits,然後通過FOREIGN KEY約束將其引用到Articles.ART_ID以確保數據一致性。

請注意,這意味着對於每個水果,要設置一些「物品」字段,必須存在Articles中的相應記錄。如果您不希望文章字段對水果是強制性的,則可以使ARTICLE_ID字段爲空。這仍然允許定義一個外鍵,但只有在ARTICLE_ID中存儲的值不是NULL時纔會強制執行引用。