mysql 设置参照完整性
来源:互联网 发布:mac怎么更新显卡驱动 编辑:程序博客网 时间:2024/05/17 06:22
什么的参照完整性:
简单的来说,就是在A表里面有一组属性K(可以是多个)是A表的主键,在B表中有一组对应的属性F(也可以是多个),但F不是B表主键,则对于B表中每个元组(也就是每一行)在F上的值必须为空值或者等于A表中某个元组(某一行)的主键的值。其中A表被称为是被参照表,B表称为被参照表
1)MySQL只在v3.23.34版本以后才引入外键的 。
2)MySQL v4.0版本以后,定义外键时会自动建立所以,所以在 v4.0 版本以前(含v4.0版本)必须手工定义索引。
3)相关联的字段必须采用类似的数据类型,或者说可转换的数据类型,当然相同类型是最好不过了。
4)参照表和被参照表必须是InnoDB表类型。如果不是InnoDB类型的表,则外键的定义会被忽略。
定义外键:
举例说明:
CREATE TABLE Class( ClassID INT PRIMARY KEY)engine=innodb;CREATE TABLE Student( ID INT PRIMARY KEY, ClassID INT, FROREIGN KEY (ClassID) REFERENCES Class(ClassID), CONSTRAINT Student_ClassID_FK FROREIGN KEY (ClassID) REFERENCES Class(ClassID) )engine=innodb;
也可以用alter语句代替上面的这句 FROREIGN KEY (ClassID) REFERENCES Class(ClassID)。
在定义了表Student之后,使用alter:
ALTER TABLE student ADD FROREIGN KEY (ClassID) REFERENCES Class(ClassID);
要删除这个外键要通过show create table tablename;来查看外键的constaint:
show create table Student;
然后使用带有DROP FOREIGN KEY 语句的ALTER TABLE命令:
ALTER TABLE Student DROP FOREIGN KEY Student_ClassID_FK;
0 0
- mysql 设置参照完整性
- MySQL 的外键与参照完整性
- 参照完整性
- 参照完整性
- MySQL开发中的外键与参照完整性
- Mysql开发中的外键与参照完整性
- Mysql开发中的外键与参照完整性
- MySQL外键和参照完整性的实现步骤
- 参照完整性的例子
- 参照完整性违约处理
- sql基础知识-----主外键、参照完整性
- MySQL开发中的外键(foreign key)与参照完整性(Referential integrity)
- MySQL开发中的外键(foreign key)与参照完整性(Referential integrity)
- MySQL的参照完整性(多表的设计):定义外键
- SQL SERVER 2005中的数据参照完整性
- 数据库中的参照完整性(Foreign Key)
- 索引-外键之参照完整性
- 对实体完整性和参照完整性的认识
- httpmime-4.1.3.jar和httpmime-4.3.6.jar 发送的http请求有差异,导致服务端无法接收到数据。
- 模块(module)方式创建maven工程
- 医疗SEMer套用百度竞价账户技巧学习
- 认识JS
- IOS开发学习(2)-UITableView学习
- mysql 设置参照完整性
- Mac OSX 安装Docker
- HTML【2】表单提交与服务层的模拟(详解get与post提交方式的不同)
- 机器学习中的数学-线性回归和梯度下降
- Netty之BIO(同步阻塞IO)、PIO(伪异步阻塞IO)、NIO(异步非阻塞IO)、AIO(异步非阻塞IO)、Netty
- hdu 1248 寒冰王座(暴力)
- 搭建ftp
- C fopen,fseek,fprintf,feof,ftell,rewind
- poj 1273 Drainage Ditches