回覆列表
  • 1 # 使用者6349622367805

    必然可以,首先要搞清楚主鍵和外來鍵的定義是什麼。主鍵說白了就是就是這個table 的唯一標識,是針對單個table來說的,作為一個table可以設定多個主鍵,例如你建立了一個叫user_info的table,你可以設定一列user_id,比方說這個是身份證號,可以只設置這一個主鍵,就可以透過這一個主鍵去找到表中任何資料,唯一的。你也可以設定user_name列和sex列當主鍵,這裡只是簡單舉個例子,比方說兩個人重名但性別不同,就可以透過這“個”主鍵來確定你所要查詢的唯一資料。而外來鍵是針對多個table的定義,比方你還有一個salary的table,這裡肯定要用到user_id,或者user_name在或者department之類的資訊,這時你在建表的時候就要指定user_id是來自user_info表的user_id,這樣在你修改user_info表的同時,salary中的資訊也會隨之改變,而不用管user_id是否為其原表主鍵。所以外來鍵和主鍵其實在這種意義上來說,是沒有任何關係的。

  • 2 # 滴逃逃

    有外來鍵的情況應該先新增主表資料,再新增副表資料。

    如:有以下兩張表

    班級表:

    CLASSID NAME

    1 一班

    2 二班

    學生表:

    SID NAME CLASSID

    1 張三 1

    2 李四 1

    3 王五 2

    其中學生表中的CLASSID是班級表CLASSID的外來鍵。

    現在要求在學生表中新增一條SID=4,NAME=趙六,CLASSID=3的資料,那麼只能先在班級表中加入一條新資料。

    insert into 班級表 values (3,"三班");

    然後再在學生表中新增:

    insert into 學生表 values (4,"趙六",3);

  • 中秋節和大豐收的關聯?
  • 長期帶避孕套對夫妻身體有傷害嗎?