MySQL聯(lián)合索引用法示例
本文實例講述了MySQL聯(lián)合索引。分享給大家供大家參考,具體如下:
員工表 userid
部門表 deptid
員工部門表
條件:一個員工可以對應多個部門
問題:怎么樣設置數(shù)據(jù)庫,讓其不能重復添加 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=utf8; -- ---------------------------- -- Records of dept -- ---------------------------- 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=utf8; -- ---------------------------- -- Records of employee -- ---------------------------- 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; -- ---------------------------- -- Records of employee_dept -- ---------------------------- INSERT INTO `employee_dept` VALUES ('1', '1', '1'); INSERT INTO `employee_dept` VALUES ('2', '1', '2');
備注:創(chuàng)建聯(lián)合索引create index myindex on employee_dept (employeeid,deptid);
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章
MySQL數(shù)據(jù)庫查詢性能優(yōu)化的4個技巧干貨
這篇文章主要為大家介紹了MySQL數(shù)據(jù)庫查詢性能優(yōu)化的4個技巧干貨詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫
這篇文章主要介紹了Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫,本文通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-05-05mysql?復制行數(shù)據(jù)命令經(jīng)驗分享(Mysql?復制一條數(shù)據(jù))
有時候表里有一行已經(jīng)添加好的數(shù)據(jù),想要多復制幾百條用來測試比如要分頁測試等,需要多條數(shù)據(jù),但是有時候數(shù)據(jù)表字段太多了,有幾十個,一個一個手寫那是不可能的2023-09-09連接MySQL出現(xiàn)Host is not allowed to con
這篇文章主要給大家介紹了連接MySQL出現(xiàn)Host is not allowed to connect to this MySQL server 解決方法,文中有詳細的解決步驟,需要的朋友可以參考下2023-08-08