mysql 增加外键_mysql添加外键的4种方式
今天开始复习,在过后的几天里开始在博客上记录一下平时疏忽的知识点,温故而知新 屁话不多--直接上货
创建主表: 班级
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种方式相关推荐
- mysql 增加外键_Mysql 添加外键
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名); 例: alter ta ...
- mysql实用管理器添加外键_MySQL 添加外键
MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...
- mysql中怎样插入外键_MySQL 添加外键
MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...
- mysql+表复制+效率_MySQL数据库复制表的几种方式讲解
一.MySQL复制表的几种方式 我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段. 之后查看students_score表数据,便于之后观察对比. 1.CREATE ...
- 修改mysql 外键_MYSQL添加外键
给商品表(从表)添加一个外键 ALTER TABLE product ADD CONSTRAINT FK_cno FOREIGN KEY(cno) REFERENCES category(cid 从 ...
- 给mysql添加主键_MySQL添加主键、索引
查看索引 SHOW INDEX FROM 数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...
- mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败
mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败. 添加显示成功后,可以轻松删除父表.
- mysql navicat如何为表添加外键?
mysql navicat如何为表添加外键? 1.使用Navicat设置 打开设计表项: 点击外键项: 外键是当前表可以指向其他表的主键或数据唯一属性的属性. 当前表的sno属性是一个外键,它参考的是 ...
- 返回键捕获 应用程序退出的两种方式(转)
作为应用程序一个较好的用户体验应该是:在退出应用程序前询问用户是否真正退出?目前普遍做法是,一在退出前询问是否真正退出,二是连续按两下退出. 返回键捕获 应用程序退出的两种方式 实现上述两种应用退出方 ...
最新文章
- 基于机器学习的捡球机器人设计与实现(探索)第2篇——7步完成opencv的安装(20190112)
- 【CentOS7配置】如何设置:启动后自动获取网络连接、配置固定IP
- excel appliacation 不能分配角色_用了5年Excel,换了这个神奇的报表工具,不禁感叹:国产真香...
- 服务器可以装2个系统吗,云服务器可以装多个系统吗
- 原有磁盘上创建lvm_Centos7创建LVM磁盘管理
- 科学计算机器科学计算机,科学计算器多功能版
- 文件校验和(checksum或Hash)计算工具
- malloc 源码_UE4源码剖析:MallocBinned(上)
- 用JavaScript编写COM组件的实例
- 蒙特卡罗(Monte Carlo) 模拟
- 智方8000系进销存管理系统 杀毒软件下载
- 使用ActiveMQ中间件方式发送邮件
- 【FFT】HDU4609-3 idiots
- 2016-2017 ACM-ICPC CHINA-Final F. Mr. Panda and Fantastic Beasts(后缀数组的两种解法)
- 百练_1004:财务管理
- 微信小程序自定义picker多列选择器
- 什么是计算机软件 软件定义,软件定义_软件定义教程_软件定义视频教程 _课课家...
- 原来,数据分析还可以这样干......
- HTML canvas系列-画圆(4)
- php表格好看样式,怎么用css制作好看的表格?【示例】