English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事ではMySQLの結合インデックスについて説明します。皆様に参考にしていただくために、以下の通りです:
従業員テーブル userid
部署テーブル deptid
従業員部署テーブル
条件:1人の従業員は複数の部署に対応できます
質問:どうやってデータベースを設定して、useridとdeptidが重複しないようにするか?
uuid userid deptid
111
212
311(こののは追加させない)
DROP TABLE IF EXISTS `dept`; CREATE TABLE `dept` ( `id` int(11) NOT NULL AUTO_INCREMENT, `deptname` char(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf88; -- ---------------------------- -- 部门记录 -- ---------------------------- INSERT INTO `dept` VALUES ('1', '1); INSERT INTO `dept` VALUES ('2', '2);
DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf88; -- ---------------------------- -- 员工记录 -- ---------------------------- INSERT INTO `employee` VALUES ('1', '11);
DROP TABLE IF EXISTS `employee_dept`; CREATE TABLE `employee_dept` ( `id` int(11) NOT NULL, `employeeid` int(11) NOT NULL, `deptid` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `bb` (`deptid`), KEY `myindex` (`employeeid`,`deptid`), CONSTRAINT `aa` FOREIGN KEY (`employeeid`) REFERENCES `employee` (`id`), CONSTRAINT `bb` FOREIGN KEY (`deptid`) REFERENCES `dept` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- employee_deptのレコード -- ---------------------------- INSERT INTO `employee_dept` VALUES ('1', '1', '1); INSERT INTO `employee_dept` VALUES ('2', '1', '2);
注記:結合インデックスを作成する例です。create index myindex on employee_dept (employeeid,deptid);
MySQLに関する詳細な内容に興味がある場合は、本サイトの特集をチェックしてください:《MySQLインデックス操作の技術集》、《MySQLログ操作の技術大全》、《MySQLトランザクション操作の技術集》、《MySQLストレージプロシージャの技術大全》、《MySQLデータベースロックの技術集》および《MySQL常用関数の集約》
本記事の内容が皆様のMySQLデータベースの計画に役立つことを願っています。
声明:本記事の内容はインターネットから提供され、著作権者に帰属します。インターネットユーザーにより自発的に提供されたコンテンツであり、本サイトは権利を所有しておらず、編集も行っていません。著作権に関する問題がある場合は、notice#wまでメールをお送りください。3codebox.com(メールを送信する際、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとれましたら、本サイトは即座に侵害が疑われるコンテンツを削除します。)