2014-04-03 79 views
0

我所要做的就是basiclly創建3個表。如何將一個mysql表中的兩行連接到第三個表中

我已經創建了以下第一個兩個。

  • 表1

    • USER_ID
    • 電子郵件
    • 密碼
  • 表2

    • Schedule_id
    • 時間
    • 日期
  • 表3必須是這個

    • USER_ID < < < <該user_id說明必須是相同的,如表頭號提到的一個,其中如果我想改變表1中的用戶ID,它也會在表3中改變。
    • 號碼
+0

你的問題是什麼? – SS781

+1

您是否指的是讓table_3中的user_id對user_id列的table_1有一個外鍵?這會導致一個外鍵約束,以便保持數據的完整性。但是,您還需要一個流程或觸發器,它會級聯table_1中的更改​​以保持數據完整性。所有這些都說了,你不應該改變user_id的值,做一個主鍵/唯一鍵,並有另一個可變的列,即name.lastname? –

+0

是的,我想要那樣!我wouldnt更改user_id值不,我已經將它設置爲一個主鍵/唯一鍵確定,所以與姓氏,我會做什麼?我將如何創建表什麼查詢?在此先感謝你們是如此有益的上帝保佑 –

回答

0

你需要的是一個外鍵具有ON UPDATE CASCADE定義是這樣的:

create table table_3 (
    user_id int(10) unsigned, 
    CONSTRAINT fk_tb_1_user_id FOREIGN KEY (user_id) REFERENCES table_1(user_id) ON UPDATE CASCADE 
); 

INT(10)無符號是一種我發明了舉例說明,但應該完全匹配table_1中的user_id列類型。

但要注意,FOREIGN KEY的工作,table_3中的每個user_id必須存在於table_1中,如果table_1中不存在user_id,則不能在table_3中插入user_id。

相關問題