外键约束
2016-07-24 16:11
183 查看
1.创建class,课程表
DROP TABLE IF EXISTS `class`;
CREATE TABLE `class` (
`scno` varchar(10) NOT NULL,
`scname` varchar(10) default NULL,
PRIMARY KEY (`scno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.创建student,学生表
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`sid` varchar(10) NOT NULL,
`sname` varchar(10) default NULL,
`scno` varchar(10) default NULL,
PRIMARY KEY (`sid`),
KEY `s_sc` (`scno`),
CONSTRAINT `s_sc` FOREIGN KEY (`scno`) REFERENCES `class` (`scno`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.实例
//插入时外键不存在于外键表中时插入不成功insert into student(sid,sname,scno)values('2','222','10')
//没有外键可以插入insert into student(sid,sname)values('1','111');
//课程表里有数据才可以insert into class(scno,scname)values('10','aaa');insert into student(sid,sname,scno)values('2','222','10')
DROP TABLE IF EXISTS `class`;
CREATE TABLE `class` (
`scno` varchar(10) NOT NULL,
`scname` varchar(10) default NULL,
PRIMARY KEY (`scno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.创建student,学生表
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`sid` varchar(10) NOT NULL,
`sname` varchar(10) default NULL,
`scno` varchar(10) default NULL,
PRIMARY KEY (`sid`),
KEY `s_sc` (`scno`),
CONSTRAINT `s_sc` FOREIGN KEY (`scno`) REFERENCES `class` (`scno`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.实例
//插入时外键不存在于外键表中时插入不成功insert into student(sid,sname,scno)values('2','222','10')
//没有外键可以插入insert into student(sid,sname)values('1','111');
//课程表里有数据才可以insert into class(scno,scname)values('10','aaa');insert into student(sid,sname,scno)values('2','222','10')
相关文章推荐
- hrbust 1469 Wrong Answer【最大独立集---二分匹配】
- leetcode - Reverse Linked List
- [置顶] 分享一个好东西(一天精通MongoDB数据库)
- Python学习资料推荐
- jQuery选择器
- ButterKnife插件使用
- 分享一个好东西(一天精通MongoDB数据库)
- 龙芯小本debian无线(wifi)连接设置
- Github,乱码问题
- 插入排序
- 字符串专题
- View的滑动冲突解决方案
- AJAX编程模板
- ios NSData转Byte 、unsigned char
- POJ-1028Web Navigation
- **JQUERY** jQuery效果
- 白皮书、绿皮书、红皮书、蓝皮书、黑皮书、褐皮书的含义
- html5中对prototype的理解
- C++中的<limits.h>和<climits>(C++基本数据类型的最值)
- 白皮书、绿皮书、红皮书、蓝皮书、黑皮书、褐皮书的含义