使用Navicat添加外键

    CREATE TABLE parent(id INT NOT NULL,  
                         PRIMARY KEY (id)) TYPE=INNODB;  
    CREATE TABLE child(id INT, parent_id INT,  
                        INDEX par_ind (parent_id),  
                        FOREIGN KEY (parent_id) REFERENCES parent(id)  
                        ON DELETE CASCADE  
    ) ;  


可以通过下面的方式在在后来添加外键约束:


    ALTER TABLE yourtablename  
              ADD [CONSTRAINT symbol] FOREIGN KEY [id] (...)  
              REFERENCES table_name (index_col_name, ...)  
                          [ON DELETE {CASCADE | SET NULL | NO ACTION  
                                                 | RESTRICT}]  
                          [ON UPDATE {CASCADE | SET NULL | NO ACTION  
                                                 | RESTRICT}]  

下面是图解

先介绍一下基本情况。现在有两个表一张是teacher表一张是dept表,现在我想把teacher表中的dept属性设置为外键,关联dept表中的code属性。具体情况如图;好了,基本情况介绍完毕,现在开始教你们navicat for mysql 怎么设置外键。

使用Navicat添加外键_第1张图片

1.打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table’。

使用Navicat添加外键_第2张图片

2.在弹出的对话框中找到“Foreign Keys”,然后单机。

使用Navicat添加外键_第3张图片

3.然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。

‘name’:可以不填,你一会保存成功系统会自动生成。

‘FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’

‘Reference DadaBase’:外键关联的数据库。

‘Reference Table‘ :关联的表 这里是dept表

‘Forgin filed Names’:关联的的字段,这里是code

‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null。

‘onupdate’:就是更新的时候选择的动作。这里我的选择是CASCADE,意思就是当关联的表更新以后,teacher》dept字段会设置为级联更新。
使用Navicat添加外键_第4张图片

4.设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。
使用Navicat添加外键_第5张图片

你可能感兴趣的:(Navicat)