mysql 约束( key constraints )

 

       mysql支持的key约束只有主键约束(PRIMARY KEY),唯一键值(UNIQUE KEY)约束和外键约束(FOREIGN KEY)。

1.唯一键值约束
唯一键值索引类型不能是 FULLTEXT 或者 SPATIAL 类型。
(1).创建 UNIQUE KEY constraints

ps:主键只能在create table时指定,或由alter 来添加。用 create index 不能添加主键。

(2).删除 UNIQUE KEY constraints

2.外键约束( foreign key constraints )

外键约束只对InnoDB存储引擎有效。
外键约束可以由 CREATE TABLE 或者 ALTER TABLE 语句来创建。

简单外键约束定义  foreign key (field1) references other_table(fieldA).
复合外键约束定义  foreign key (field1,field2) references other_table(fieldA,fieldB).
ps:复合外键约束 只能关联一张表,如下是错误的:
foreign key (field1,field2) references other_table1(fieldA),other_table2(fieldB).

(1)创建

(2)删除

3.改变存在外键约束的表数据时注意一些规则

当B表一个字段外键关联到A表中的某字段,这时更新、删除A表该字段时,有如下规则
(1)RESTRICT 不允许关联到的A表字段更新或者删除
(2)CASCADE  级联,当A表字段更新或者删除时,B表所关联的数据也相应的更新或者删除
(3)SET NULL 当A表中关联字段更新时B表相应字段更新,当A表关联字段删除时,B表中相应字段设为空
(4)NO ACTION 类似RESTRICT的规则

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值