mysql数据库外键怎么设置 mysql怎么设置外键
这篇文章给大家聊聊关于mysql数据库外键怎么设置,以及mysql怎么设置外键对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
mysql怎么定义外键
定义外键的方法和详细的操作步骤如下:
1、第一步,创建一个主从表,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,选择主表,然后单击设计表进入表设计界面,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,单击外键进入外键的设置界面,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,设置外键名称,然后选择主表的外键字段,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,设置与数据库,表名称和从属表的单词相对应的外键字段,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,单击保存即可,如下图所示。这样,问题就解决了。
怎么样在MySQL数据库中定义外键_MySQL
Mysql外键
定义数据表假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的表叫做pc;用来保存配件供货信息的表叫做parts。在pc表中有一个字段,用来描述这款电脑所使用的CPU型号;在parts表中相应有一个字段,描述的正是CPU的型号,我们可以把它想成是全部CPU的型号列表。很显然,这个厂家生产的电脑,其使用的CPU一定是供货信息表(parts)中存在的型号。这时,两个表中就存在一种约束关系(constraint)——pc表中的CPU型号受到parts表中型号的约束。首先我们来创建parts表: CREATE TABLE parts(...字段定义...,model VARCHAR(20) NOT NULL,...字段定义...);
接下来是PC表: CREATE TABLE pc(...字段定义...,cpumodel VARCHAR(20) NOT NULL,...字段定义...};
设置索引若要设置外键,在参照表(referencing table,即pc表)和被参照表(referenced table,即parts表)中,相对应的两个字段必须都设置索引(index)。对parts表: ALTER TABLE parts ADD INDEX idx_model(model);
这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。对pc表也类似: ALTER TABLE pc ADD INDEX idx_cpumodel(cpumodel);
事实上这两个索引可以在创建表的时候就设置。这里只是为了突出其必要性。定义外键下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。ALTER TABLE pc ADD CONSTRAINT fk_cpu_model FOREIGN KEY(cpumodel) REFERENCES parts(model);
第一行是说要为pc表设置外键,给这个外键起一个名字叫做fk_cpu_model;第二行是说将本表的cpumodel字段设置为外键;第三行是说这个外键受到的约束来自于parts表的model字段。这样,我们的外键就搞好了!如果我们试着CREATE一台pc,它所使用的CPU的型号是parts表中不存在的,那么MySQL会禁止这台PC被CREATE出来。级联操作考虑以下这种情况:技术人员发现,一个月之前输入到parts表中的某个系列的cpu(可能有很多款)的型号全都输错了一个字母,现在需要改正。我们希望的是,当parts表中那些 Referenced Column有所变化时,相应表中的 Referencing Column也能自动更正。可以在定义外键的时候,在最后加入这样的关键字: ON UPDATE CASCADE;
即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。如果把这语句完整的写出来,就是: ALTER TABLE pc ADD CONSTRAINT fk_cpu_model FOREIGN KEY(cpumodel) REFERENCES parts(model)ON UPDATE CASCADE;除了CASCADE外,还有RESTRICT(禁止主表变更)、SET NULL(子表相应字段设置为空)等操作。
数据库外键怎么设置
SQL数据库建表时怎么设置外键,
1>--创建测试主表. ID是主键.
2> CREATE TABLE test_main(
3> id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id)
6>);
7> go
--建表时设置外键
1> CREATE TABLE test_sub(
2> id INT,
3> main_id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id),
6> FOREIGN KEY(main_id) REFERENCES test_main
7>);
8> go
sql怎么设置外键
可以在创建表的时候创建,也可以在创建表之后创建。
创建表时创建:
create table student
(id int primary key,
name char(4),
dept char(9)
sex char(4))
create table grade
(id int,
grade int
constraint id_fk foreign key(id) references student(id)
)
或创建了两表之后再建
alter table grade
add constraint id_fk foreign key(id) references student(id)
呵呵,希望能帮助你。
sql server中图形界面如何设置外键
在那个属性上右键有约束自己添加就OK了
mysql怎么设置外键?
ALTER TABLE b ADD CONSTRAINT c FOREIGN KEY(c) REFERENCES a(c) ON DELETE CASCADE ON UPDATE CASCADE;哎呀。。好像写反了。我写的是把表B的c设置为外键了。。你改一下吧。
如何在数据库的建立表的时候设置表的外键
1>--创建测试主表. ID是主键.
2> CREATE TABLE test_main(
3> id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id)
6>);
7> go
--建表时设置外键
1> CREATE TABLE test_sub(
2> id INT,
3> main_id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id),
6> FOREIGN KEY(main_id) REFERENCES test_main
7>);
8> go
sql server 2008怎么设置外键
建外键的前提是此外键必须是另外一个表的主键。建外键的步骤:第一步打开要建外键表的设计器,右击选择“关系”。然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮,就会弹出另外一个窗体让我们选择主键表和列,选好之后点击确定。然后我们INSERT和UPDATE规范,在更新规则和删除规则有四个选项,分别是“不执行任何操作”、“级联”、“设置为NULL”、“设置默认值”。默认的不执行任何操作。如果是“不执行任何操作”,当我们删除或更新主键表的数据时,会告诉用户不能执行删除或更新该操作。“级联”的意思是当我们删除或更新主键表的数据时,会删除或更新外键表中所涉及的相关数据的所有行。“设置Null”的意思是当我们删除或更新主键表的数据时,外键表中的外键列的值会设为Null,但前提是该列允许为空。“设置默认值”的意思是如果我们将外键列定义了默认值,当我们删除或更新主键表的数据时,外键表中的外键列的值设为定义的默认值。当然我们可以用代码创建,当我们在创建数据库表T——Card时只要加上一句话就OK啦,“Foreign key(studentNo) references T_Student(studentNo)"。如果我们已经创建了改表,那如何用代码实现了,这也很简单也就一句话“ add constraint CMPKey(外键名) foreign key(studentNo) references T_Student(studentNo)”。
sql中怎样创建外键约束
在创建表之后,添加外键约束:
alter table yuangong add constraint fk foreign key(部门罚) references bumen(部门号)
或者在创建表的时候添加外键
foreign key(部门号) references bumen(部门号)放在最后,用","与列分隔
数据库中,一对多的时候外键设置在多的那张表吗?如果一对一的时候,外键应该设置在哪里?多对多的时候,
首先,外键引用的那个列在主表中必须是主键列或者唯一列。
所以1:n的肯定把外键建立在n的那张表上。
1:1,一般要看谁是主表,谁是附属表,外键当然建立在附属表中。
n:m的情况,需要建立一个关系表,两个原表和其关系分别是1:n,1
:m
数据库语句怎么加外键
1,创建表的时候添加:foreign key(你的外键) references(表名)(字段名);
2,创建好之后修改:
alter table dbo.mh_User
add constraint FK_mh_User_..._id foreign key(你的外键) references(表名)(字段名);
Sql server怎样创建主外键关系
在要设置关系的外键表中,右击关系→添加→在表和列规范中选择关联的主表再选择外键表与其关联的字段
mysql怎么设置外键
通过工具NAVICAT设计表时进行设计
打开NAVICAT,连接数据库
右键目标表,选择设计表
打开后选择外键菜单,具体如图:
分别设置外键名,字段,关联数据库、表、字段,以及删除时操作,更新时操作方式然后点击保存按钮即可
也可以通过SQL方式完成对表外键的添加,如:
语法:alter table表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES外表表名(对应的表的主键字段名);
如果你还想了解更多这方面的信息,记得收藏关注本站。