今天开始复习,在过后的几天里开始在博客上记录一下平时疏忽的知识点,温故而知新 屁话不多--直接上货

创建主表: 班级

CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(15) NOT NULL)

INSERT INTO class VALUES(NULL,'六年级一班')

INSERT INTO class VALUES(NULL,'六年级二班')

第一种://1.在属性值后面直接添加(有点小问题)

CREATE TABLE student(sid INT AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL,

s_cid INT REFERENCES class(cid),

PRIMARY KEY(sid)

);

//添加数据进行测试

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)    //约束不生效,原因待查

INSERT INTO student VALUES(NULL,'卧槽',4)     //不敢相信,在测试一次

这种方式,测试不知道为什么,居然添加进去了  WTF?  在网上百度无果,自学群无回复  暂时先搁置在这儿

第二种://2.在sql语句末端添加

CREATE TABLE student(

sid INT AUTO_INCREMENT,

sname VARCHAR(10),

s_cid INT,

PRIMARY KEY(sid),

FOREIGN KEY (s_cid) REFERENCES class(cid)

);

//插入数据测试一下

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)   //约束生效  插入失败

外键约束生效

第三种://3.fk的使用

这种是值下课自己手动收集总结的,理解还不是很到位,一番测试还是弄懂了一点,表中的  fk_子表_父表

CREATE TABLE student(sid INT AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL,

s_cid INT ,

PRIMARY KEY(sid),

CONSTRAINT fk_student_class FOREIGN KEY(s_cid) REFERENCES class(cid)

);

//测试一波 OK

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效  插入失败

第四种://4.在建表后添加外键  (教学类容)

CREATE TABLE student(sid INT AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL,

s_cid INT ,

PRIMARY KEY(sid)

);

//添加外键约束:  ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);

//测试

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效   插入失败

总结到此结束,有疏忽之处,望大家指出修正

mysql 增加外键_mysql添加外键的4种方式相关推荐

  1. mysql 增加外键_Mysql 添加外键

    语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名); 例: alter ta ...

  2. mysql实用管理器添加外键_MySQL 添加外键

    MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...

  3. mysql中怎样插入外键_MySQL 添加外键

    MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...

  4. mysql+表复制+效率_MySQL数据库复制表的几种方式讲解

    一.MySQL复制表的几种方式 我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段. 之后查看students_score表数据,便于之后观察对比. 1.CREATE ...

  5. 修改mysql 外键_MYSQL添加外键

    给商品表(从表)添加一个外键 ALTER TABLE product ADD CONSTRAINT FK_cno FOREIGN KEY(cno) REFERENCES category(cid  从 ...

  6. 给mysql添加主键_MySQL添加主键、索引

    查看索引 SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...

  7. mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败

    mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败. 添加显示成功后,可以轻松删除父表.

  8. mysql navicat如何为表添加外键?

    mysql navicat如何为表添加外键? 1.使用Navicat设置 打开设计表项: 点击外键项: 外键是当前表可以指向其他表的主键或数据唯一属性的属性. 当前表的sno属性是一个外键,它参考的是 ...

  9. 返回键捕获 应用程序退出的两种方式(转)

    作为应用程序一个较好的用户体验应该是:在退出应用程序前询问用户是否真正退出?目前普遍做法是,一在退出前询问是否真正退出,二是连续按两下退出. 返回键捕获 应用程序退出的两种方式 实现上述两种应用退出方 ...

最新文章

  1. 基于机器学习的捡球机器人设计与实现(探索)第2篇——7步完成opencv的安装(20190112)
  2. 【CentOS7配置】如何设置:启动后自动获取网络连接、配置固定IP
  3. excel appliacation 不能分配角色_用了5年Excel,换了这个神奇的报表工具,不禁感叹:国产真香...
  4. 服务器可以装2个系统吗,云服务器可以装多个系统吗
  5. 原有磁盘上创建lvm_Centos7创建LVM磁盘管理
  6. 科学计算机器科学计算机,科学计算器多功能版
  7. 文件校验和(checksum或Hash)计算工具
  8. malloc 源码_UE4源码剖析:MallocBinned(上)
  9. 用JavaScript编写COM组件的实例
  10. 蒙特卡罗(Monte Carlo) 模拟
  11. 智方8000系进销存管理系统 杀毒软件下载
  12. 使用ActiveMQ中间件方式发送邮件
  13. 【FFT】HDU4609-3 idiots
  14. 2016-2017 ACM-ICPC CHINA-Final F. Mr. Panda and Fantastic Beasts(后缀数组的两种解法)
  15. 百练_1004:财务管理
  16. 微信小程序自定义picker多列选择器
  17. 什么是计算机软件 软件定义,软件定义_软件定义教程_软件定义视频教程 _课课家...
  18. 原来,数据分析还可以这样干......
  19. HTML canvas系列-画圆(4)
  20. php表格好看样式,怎么用css制作好看的表格?【示例】

热门文章

  1. 苹果cms设置提供采集接口让他人采集
  2. MySQL密码不要用0开头!!!
  3. 为什么html中没有折叠效果,css3折叠效果
  4. 基于qemu-riscv从0开始构建嵌入式linux系统ch3. 添加中断控制器、串口、pflash支持
  5. 解决下拉菜单被flash遮住问题
  6. 【vue3】解决移动端点击页面放大-ios
  7. python如何简便使用cumsum函数完成绘制累计概率分布图(CDF)
  8. 2020年全球及中国疫苗行业发展现状及竞争格局分析,13价肺炎结合疫苗稳居榜首「图」
  9. 上传图片与双向显示图片
  10. 【人工智能行业大师访谈6】吴恩达采访 Andrej Karpathy