1.主键不允许为空且不重复,外键可以为空也可以重复

2.主键用来唯一标识一行数据,外键用来将子表和主表产生关联

3.子表的外键必须关联在主表的主键或者唯一属性上(唯一属性可以空)

create table major(

int id,

name varchar(20),

constraint pk_id primary key(id)

);

alter table major drop primary key;

alter table major add constraint pk_id promary key(id);

create table student(

int id,

name varchar(20),

constraint fk_id foreign key (id) references major(id) on update cascade

)

alter table student drop foreign key fk_id;

alter table student add constraint fk_id foreign key (id)references major(id);

4.想删除主键一定要先删除外键。

5.想修改主键一定先设置级联外键,修改主键的同时修改外键这样安全。

主键和外键(MySQL)相关推荐

  1. MySQL的几个概念:主键,外键,索引,唯一索引

    一.概念: 1.主键(primary key) 能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录 ...

  2. mysql中有主键和外键吗_谈谈mysql的主键和外键

    主键:保证数据的唯一性,非空且唯一,一般设置主键的语法为:字段 类型 PRIMARY KEY;或者 字段 类型,PRIMARY KEY(字段名) 外键:保证数据的完整性,一致性.一般设置的外键关联的是 ...

  3. mysql 主键外键sql_SQL外键VS主键说明了MySQL语法示例

    mysql 主键外键sql A Foreign Key is a key used to link two tables. The table with the Foreign Key Constra ...

  4. MySQL主键和外键使用及说明

    MySQL主键和外键使用及说明 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件:  1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后 ...

  5. mysql 把主键当外键_MySQL主键和外键使用及说明

    MySQL主键和外键使用及说明 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的 ...

  6. MySQL建表,主键,外键

    1.创建表 MySql中,创建表是通过SQL语句create table实现的.语法形式如下: create table 表名( 属性名 数据类型[完整性约束条件],            属性名 数 ...

  7. Mysql中主键和外键和索引

    Mysql中主键和外键和索引 1.主键和外键是什么 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是 ...

  8. (转载)MySQL数据库的主键和外键详解

    主键 主键的定义 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY 约束来 ...

  9. MySQL设置主键、联合主键、外键、唯一约束、非空约束、默认约束

    MySQL登录.查看记录等基本操作 MySQL设置表的属性值自动增加 auto_increment 1.主键.联合主键.外键 1.什么是主键 主键是在多条记录中用于确定一条记录时使用的标识符.主键具备 ...

  10. mysql主键和外键_谈谈mysql的主键和外键

    主键:保证数据的唯一性,非空且唯一,一般设置主键的语法为:字段 类型 PRIMARY KEY;或者 字段 类型,PRIMARY KEY(字段名) 外键:保证数据的完整性,一致性.一般设置的外键关联的是 ...

最新文章

  1. 自顶向下 与自底向上解决01 背包问题
  2. 用户方式中线程的同步——Windows核心编程学习手札之八
  3. 一个项目搞定支付宝,微信支付!
  4. cocos2dX 之CCParticle
  5. boost::hana::one用法的测试程序
  6. javaweb学习总结(四十二)——Filter(过滤器)学习
  7. HDFS文件目录操作代码
  8. ElasticSearch Pipeline 为新增数据设置更新时间
  9. RuntimeException:java.lang.ClassNotFoundException: Class wordcount.WordCountMapper not fonud
  10. Axure电商服务小程序交互原型模板、电商小程序、拼团特惠、积分兑换、LBS电商小程序、活动、订单、会员、购物车、签到、钱包充值、拼团拼单、优惠券、电商原型、rp源文件、Axure原型、移动端电商系统
  11. python字符串基本操作符有哪些_Python字符串及基本操作(入门必看)!!
  12. CentOS 7中源码安装MySQL 5.7.16 ----已测试验证
  13. POJ3274 Gold Balanced Lineup【Hash函数】
  14. 《Python参考手册(第4版•修订版)》——1.8 集合
  15. 北理乐学大学计算机实验4,北理乐学C语言答案.docx
  16. 荣耀路由器w831刷linux,华为荣耀路由器登录入口:荣耀路由器WS831设置指南【图解】...
  17. bzoj2827千山鸟飞绝(Treap)
  18. 今日头条新闻采集爬虫分享
  19. C# 抽象类与接口异同
  20. Codeforces118D Caesar's Legions(DP)

热门文章

  1. Git 常用操作(一)
  2. 【BZOJ】【2752】【HAOI2012】高速公路(Road)
  3. 让Cocos2dx中的TestCPP中的Box2dTest运行起来
  4. DP动态规划【专辑@AbandonZHANG】
  5. PHP下ereg实现匹配ip的正则
  6. matlab:高斯函数对图像的空域滤波和频域滤波
  7. TensorFlow实现对花朵数据集的图片分类(保证运行成功)
  8. zookeeper 分布式锁_详细讲解!从秒杀聊到ZooKeeper分布式锁
  9. db2查询字段备注_SQL基础7:SQLSERVER、ORACLE、DB2中SQL语句查询表字段名、注释、字段类型...
  10. python 3d游戏脚本_3ds Max python脚本编写及部分API介绍