亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql建表時如何設置外鍵

發布時間:2020-10-09 15:33:40 來源:億速云 閱讀:682 作者:小新 欄目:MySQL數據庫

mysql建表時如何設置外鍵?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

mysql建表時設置外鍵的方法:在“CREATE TABLE”語句中,通過“[CONSTRAINT <外鍵名>] FOREIGN KEY 字段名 [,字段名2,…] REFERENCES <主表名> 主鍵列1 [,主鍵列2,…]”語句設置。

MySQL 外鍵約束(FOREIGN KEY)是表的一個特殊字段,經常與主鍵約束一起使用。對于兩個具有關聯關系的表而言,相關聯字段中主鍵所在的表就是主表(父表),外鍵所在的表就是從表(子表)。

在創建表時設置外鍵約束

在 CREATE TABLE 語句中,通過 FOREIGN KEY 關鍵字來指定外鍵,具體的語法格式如下:

[CONSTRAINT <外鍵名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主鍵列1 [,主鍵列2,…]

示例

為了展現表與表之間的外鍵關系,本例在 test_db 數據庫中創建一個部門表 tb_dept1,表結構如下表所示。

字段名稱數據類型備注
idINT(11)部門編號
nameVARCHAR(22)部門名稱
locationVARCHAR(22)部門位置

創建 tb_dept1 的 SQL 語句和運行結果如下所示。

mysql> CREATE TABLE tb_dept1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) NOT NULL,
    -> location VARCHAR(50)
    -> );
Query OK, 0 rows affected (0.37 sec)

創建數據表 tb_emp6,并在表 tb_emp6 上創建外鍵約束,讓它的鍵 deptId 作為外鍵關聯到表 tb_dept1 的主鍵 id,SQL 語句和運行結果如下所示。

mysql> CREATE TABLE tb_emp6
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> CONSTRAINT fk_emp_dept1
    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp6;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  | MUL | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (1.33 sec)

以上語句執行成功之后,在表 tb_emp6 上添加了名稱為 fk_emp_dept1 的外鍵約束,外鍵名稱為 deptId,其依賴于表 tb_dept1 的主鍵 id。

注意:從表的外鍵關聯的必須是主表的主鍵,且主鍵和外鍵的數據類型必須一致。例如,兩者都是 INT 類型,或者都是 CHAR 類型。如果不滿足這樣的要求,在創建從表時,就會出現“ERROR 1005(HY000): Can't create table”錯誤。

感謝各位的閱讀!看完上述內容,你們對mysql建表時如何設置外鍵大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

册亨县| 繁峙县| 铜陵市| 瓮安县| 团风县| 永城市| 太康县| 榆社县| 江阴市| 凤阳县| 城口县| 海淀区| 无棣县| 虹口区| 平顶山市| 高碑店市| 横峰县| 大埔区| 昌都县| 福鼎市| 滨州市| 张掖市| 治县。| 左贡县| 博野县| 诸暨市| 商水县| 象州县| 德令哈市| 襄汾县| 体育| 浠水县| 芜湖县| 明溪县| 石阡县| 阿勒泰市| 盐津县| 信丰县| 巴马| 红安县| 舒兰市|