赞
踩
复合主键:数据库表的主键由两个及以上的字段组成。
- CREATE TABLE `asm_device_config_info` (
- `asmModel` varchar(32) NOT NULL COMMENT '自助机型号',
- `deviceType` varchar(32) NOT NULL COMMENT '外设类型',
- `deviceModel` varchar(32) NOT NULL COMMENT '外设型号',
- `deviceFactory` varchar(32) NOT NULL COMMENT '外设厂商',
- PRIMARY KEY (`asmModel`,`deviceType`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助机外围设备配置信息表';
联合主键:多个主键联合形成一个主键的组合。
适用情景:当两个数据表是多对多的关系,需要通过两个数据表的主键来组成联合主键,来确定一条记录
student以studentId为主键
CREATE TABLE `student` ( `studentId` varchar(32) NOT NULL COMMENT '学号', `studentName` varchar(32) NOT NULL COMMENT '姓名', `studentGender` varchar(32) NOT NULL COMMENT '性别', `studentAge` int DEFAULT NULL COMMENT '年龄', PRIMARY KEY (`studentId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生信息表';course以courseId为主键
CREATE TABLE `course` ( `courseId` varchar(32) NOT NULL COMMENT '课程id', `courseName` varchar(32) NOT NULL COMMENT '课程名称', `courseCredit` varchar(32) NOT NULL COMMENT '课程学分', PRIMARY KEY (`courseId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程信息表';student_course通过studentId与courseId确定主键id
CREATE TABLE `student_course` ( `id` int AUTO_INCREMENT COMMENT '选课id', `studentId` varchar(32) NOT NULL COMMENT '学号', `courseId` varchar(32) NOT NULL COMMENT '课程id', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生选课表';
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。