久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      mysql怎么增加外鍵約束

      mysql中可用“ALTER TABLE”語句和“FOREIGN KEY”關(guān)鍵字增加外鍵,語法“ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY(列名) REFERENCES 主表名 (列名);”。

      mysql怎么增加外鍵約束

      本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

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

      外鍵用來建立主表與從表的關(guān)聯(lián)關(guān)系,為兩個(gè)表的數(shù)據(jù)建立連接,約束兩個(gè)表中數(shù)據(jù)的一致性和完整性。

      定義外鍵時(shí),需要遵守下列規(guī)則:

      • 主表必須已經(jīng)存在于數(shù)據(jù)庫中,或者是當(dāng)前正在創(chuàng)建的表。如果是后一種情況,則主表與從表是同一個(gè)表,這樣的表稱為自參照表,這種結(jié)構(gòu)稱為自參照完整性。

      • 必須為主表定義主鍵。

      • 主鍵不能包含空值,但允許在外鍵中出現(xiàn)空值。也就是說,只要外鍵的每個(gè)非空值出現(xiàn)在指定的主鍵中,這個(gè)外鍵的內(nèi)容就是正確的。

      • 在主表的表名后面指定列名或列名的組合。這個(gè)列或列的組合必須是主表的主鍵或候選鍵。

      • 外鍵中列的數(shù)目必須和主表的主鍵中列的數(shù)目相同。

      • 外鍵中列的數(shù)據(jù)類型必須和主表主鍵中對應(yīng)列的數(shù)據(jù)類型相同。

      mysql給表增加外鍵約束

      外鍵約束可以在修改表時(shí)添加,但是添加外鍵約束的前提是:從表中外鍵列中的數(shù)據(jù)必須與主表中主鍵列中的數(shù)據(jù)一致或者是沒有數(shù)據(jù)。

      在修改數(shù)據(jù)表時(shí)添加外鍵約束的語法格式如下:

      ALTER TABLE <數(shù)據(jù)表名> ADD CONSTRAINT <外鍵名> FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

      示例

      修改數(shù)據(jù)表 tb_emp2,將字段 deptId 設(shè)置為外鍵,與數(shù)據(jù)表 tb_dept1 的主鍵 id 進(jìn)行關(guān)聯(lián)

      mysql> ALTER TABLE tb_emp2     -> ADD CONSTRAINT fk_tb_dept1     -> FOREIGN KEY(deptId)     -> REFERENCES tb_dept1(id); Query OK, 0 rows affected (1.38 sec) Records: 0  Duplicates: 0  Warnings: 0
      mysql> SHOW CREATE TABLE tb_emp2G *************************** 1. row ***************************        Table: tb_emp2 Create Table: CREATE TABLE `tb_emp2` (   `id` int(11) NOT NULL,   `name` varchar(30) DEFAULT NULL,   `deptId` int(11) DEFAULT NULL,   `salary` float DEFAULT NULL,   PRIMARY KEY (`id`),   KEY `fk_tb_dept1` (`deptId`),   CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.12 sec)

      注意:在為已經(jīng)創(chuàng)建好的數(shù)據(jù)表添加外鍵約束時(shí),要確保添加外鍵約束的列的值全部來源于主鍵列,并且外鍵列不能為空。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號