关于mysql复合主键
以前,只在资料中遇到过复合主键,只是知道如何构建复合主键,却从没切身用过,今天在使用lavarel的权限管理插件时,遇到了:
CREATE TABLE `qpr_role_user` ( `user_id` int(10) unsigned NOT NULL, `role_id` int(10) unsigned NOT NULL, PRIMARY KEY (`user_id`,`role_id`), KEY `role_user_role_id_foreign` (`role_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
这是一张用户--角色关联表,主键是用户id与角色id共同组成,这样做的目的是:同一个用户对应的某个角色,只能插入一条记录,这样就不会重复插入,避免逻辑/数据显示的错误