English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Esempio di utilizzo dell'indice combinato MySQL

本文实例讲述了MySQL联合索引。分享给大家供大家参考,具体如下:

员工表 userid
部门表 deptid
员工部门表

条件:一个员工可以对应多个部门

问题:如何设置数据库,使其不能重复添加 userid 和 deptid?

uuid userid deptid
111
212
311(这个就不能让其添加)

如果存在则删除表 `dept`;
创建表 `dept` (
 `id` int(11) NOT NULL 自动增加=,
 `deptname` char(32) NOT NULL,
 主键 (`id`)
) 引擎=InnoDB 自动增加=3 默认字符集=utf8;
-- ----------------------------
-- 部门记录
-- ----------------------------
INSERT INTO `dept` VALUES ('1', '1');
INSERT INTO `dept` VALUES ('2', '2');
如果存在则删除表 `employee`;
创建表 `employee` (
 `id` int(11) NOT NULL 自动增加=,
 `name` varchar(32) NOT NULL,
 主键 (`id`)
) 引擎=InnoDB 自动增加=3 默认字符集=utf8;
-- ----------------------------
-- 员工记录
-- ----------------------------
INSERT INTO `employee` VALUES ('1', '11');
如果存在则删除表 `employee_dept`;
创建表 `employee_dept` (
 `id` int(11) NOT NULL,
 `employeeid` int(11) NOT NULL,
 `deptid` int(11) NOT NULL,
 主键 (`id`),
 键 `bb` (`deptid`),
 键 `myindex` (`employeeid`,`deptid`),
 约束 `aa` 外键 (`employeeid`) 引用 `employee` (`id`),
 CONSTRAINT `bb` FOREIGN KEY (`deptid`) REFERENCES `dept` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of employee_dept
-- ----------------------------
INSERT INTO `employee_dept` VALUES ('1', '1', '1');
INSERT INTO `employee_dept` VALUES ('2', '1', '2');

Nota: creare un indice combinato create index myindex on employee_dept (employeeid,deptid);

Chi è interessato a ulteriori contenuti relativi a MySQL può consultare la sezione speciale di questo sito: 'Riassunto delle tecniche di gestione degli indici MySQL', 'Manuale completo delle tecniche di gestione dei log MySQL', 'Riassunto delle tecniche di gestione delle transazioni MySQL', 'Manuale completo delle tecniche di gestione dei procedimenti memorizzati MySQL', 'Riassunto delle tecniche di gestione dei bloccaggi del database MySQL' e 'Riassunto delle funzioni常用 MySQL'.

Spero che il contenuto di questo articolo possa essere utile per il calcolo del database MySQL.

Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato elaborato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito rimuoverà immediatamente i contenuti sospetti di violazione del copyright.

Ti piacerebbe anche