ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

基于Python + 深度学习的人脸识别考勤系统设计与实现毕业设计源码

基于Python + 深度学习的人脸识别考勤系统设计与实现毕业设计源码 博主介绍✌ 专注于Java,python,✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的本研究旨在通过Python语言与深度学习技术构建一种高效、准确且易于部署的人脸识别考勤系统以满足现代企业与教育机构对实时、无接触考勤的迫切需求。首先传统基于条码或身份证的考勤方式存在信息泄露风险、操作繁琐以及易受人为干扰等缺陷而现有基于摄像头的人脸识别方案在算法精度、环境适应性和计算资源占用方面仍存在显著不足。其次Python作为一种跨平台、高效的开发语言配合TensorFlow、PyTorch等深度学习框架可实现模型快速迭代与部署并支持GPU加速为构建实时识别系统提供了技术基础。再次深度卷积神经网络在图像特征提取方面表现出色能够在光照变化、姿态偏差及遮挡等复杂环境下保持较高识别率从而显著提升考勤数据的可靠性。基于此本研究将围绕三大核心目标展开一是设计并实现一套端到端的人脸识别管线包括人脸检测、对齐、特征提取与比对确保系统在不同摄像头与光照条件下均能保持一致的性能二是通过大规模实验数据验证模型在精度、召回率与误识率方面的优势并与现有商业方案进行对比分析三是构建一个可扩展的部署架构支持多机房、云端与边缘计算环境以实现低延迟、高并发的实时考勤服务。通过上述研究本工作不仅为企业和教育机构提供了一种安全、便捷的考勤解决方案也为人脸识别技术在工业界的落地应用提供了可复制、可推广的技术路径。二、研究意义本研究的意义体现在多维度首先在信息安全层面通过引入基于深度学习的人脸识别技术可有效降低传统考勤方式中因人工记号、身份证或条码易被复制、伪造所导致的数据泄露与身份冒用风险从而提升组织内部信息安全保障水平其次在运营效率方面该系统能够实现无接触、自动化的考勤流程显著缩短员工或学生到岗登记时间减少人力资源管理成本并通过实时数据采集与统计为企业或教育机构提供精准的考勤报表与行为分析为决策制定提供可靠依据再次在技术创新层面本研究通过整合Python生态与主流深度学习框架构建可在多种硬件平台包括GPU、边缘设备上高效运行的端到端人脸识别管线推动了深度学习模型在工业界的落地应用为后续面向多模态身份验证、异常行为检测等领域提供了技术积累与经验再者在社会治理与公共安全层面该系统能够在校园、企业、政府机构等场景中实现精准的人流与身份监控辅助防范非法侵入或逃逸行为提升公共安全治理能力最后在学术研究层面本工作通过大规模实验验证模型在光照变化、姿态偏差及遮挡等复杂环境下的鲁棒性为人脸识别算法的性能评估与改进提供了实证数据丰富了相关算法研究与应用案例。综上所述本研究不仅具有显著的应用价值和经济效益也为计算机视觉、深度学习与信息安全交叉领域的发展提供了新的理论与实践支撑。三、国内外研究现状国际上人脸识别技术已从传统的基于特征点的算法发展为深度学习驱动的端到端模型主要研究方向包括卷积神经网络CNN架构优化、三维人脸重建、姿态不变性与光照补偿以及对抗鲁棒性提升。代表性成果如FaceNet通过三元组损失实现了在LFW、MegaFace等公开数据集上的高精度识别随后提出的SphereFace、CosFace、ArcFace等角度余弦损失方法进一步提升了特征分离度使得在IJB-C、VGG-Face2等大规模验证任务中取得了显著优势。近年来研究者还关注轻量化模型设计与边缘部署诸如MobileFaceNet、GhostNet、EfficientNet等网络通过参数剪枝、深度可分离卷积与注意力机制实现了在移动设备上毫秒级推理速度的同时保持较高识别率。与此同时隐私保护与可解释性也成为热点议题出现了基于差分隐私、同态加密以及联邦学习的人脸识别框架以满足法规合规与数据安全需求。在国内学术界与产业界均投入大量资源开展人脸识别研究。中国科学院、清华大学、北京大学等高校构建了CASIA-WebFace、MS-Celeb-1M中文版本等大规模人脸数据库为算法训练提供了丰富样本。企业层面阿里巴巴、腾讯、百度等公司推出了基于深度学习的人脸识别服务并在金融、安防、教育等领域实现商业化落地。国内研究亦聚焦于抗干扰与隐私保护出现了针对遮挡、光照变化的多模态融合方法以及基于联邦学习的分布式模型训练方案。近年来国家层面出台了《个人信息保护法》与《网络安全法》进一步推动了可解释性与合规性研究。总体而言当前研究主要集中在三大方向一是模型轻量化与边缘化部署通过网络剪枝、知识蒸馏、量化技术实现低功耗、高实时性的识别二是鲁棒性提升利用姿态补偿、光照归一化与对抗训练增强模型在复杂环境下的稳定性三是隐私与安全保障结合差分隐私、同态加密与联邦学习技术构建安全可信的人脸识别系统。已取得的成果包括在IJB-C上达到99.3% TAR、在MegaFace上突破1.5%误识率、以及在移动端实现每秒30帧的实时推理。随着算法创新与硬件进步基于Python与深度学习的人脸识别考勤系统已具备可行性与实用性为企业与教育机构提供了安全、高效的身份验证解决方案。四、预期达到目标及解决的关键问题本研究的预期目标聚焦于构建一套兼具高精度、低延迟与易部署特性的面向企业与教育机构的人脸识别考勤系统。首先系统应在标准公开数据集如LFW、IJB-C以及自建的校园与办公环境数据集上实现识别准确率不低于99.0%并在实际部署环境中保持误识率低于0.5%其次鉴于考勤场景对实时性的严格要求系统推理时间需控制在200毫秒以内以支持每秒至少30帧的摄像头输入再次为降低硬件成本与能耗系统应支持在低功耗边缘设备如NVIDIA Jetson Nano、Intel Movidius Myriad上部署并通过模型剪枝、量化与知识蒸馏等技术实现参数规模不超过5M的轻量级网络此外系统需具备完善的数据管理与可视化功能能够实时记录考勤日志、生成统计报表并支持多租户管理与权限控制最后在隐私合规方面系统必须实现基于差分隐私或同态加密的特征保护机制并满足《个人信息保护法》与《网络安全法》的相关要求。在实现上述目标的过程中研究将面临若干关键技术难题。首要问题为环境鲁棒性挑战即光照变化、摄像头角度偏差与遮挡物如眼镜、口罩、帽子对人脸特征提取的影响。为此需设计姿态补偿与光照归一化模块并探索多模态融合或自监督预训练策略以提升模型对极端条件的适应性。其次数据多样性不足可能导致模型在不同人群如肤色、年龄段上的性能偏差需通过数据增强、迁移学习与少样本学习方法补偿。第三硬件资源受限导致的推理瓶颈要求对网络结构进行精细化优化平衡模型容量与计算效率同时在边缘部署时需解决模型压缩后精度下降与实时性之间的权衡。第四系统安全性问题亦不可忽视包括对抗样本攻击、身份伪造与数据库泄露风险。针对这些威胁需要构建对抗训练框架、引入多因素认证与安全审计机制。最后系统集成与维护成本也是关键瓶颈需设计模块化、可热更新的架构并提供易于使用的管理界面以降低运维复杂度。通过对上述关键问题的系统性研究与技术攻关本项目有望实现既满足工业级性能要求又兼顾安全合规与成本效益的人脸识别考勤解决方案。五、研究内容本研究围绕基于Python与深度学习的人脸识别考勤系统展开整体内容可分为四个主要模块数据采集与预处理、模型设计与训练、系统集成与部署以及性能评估与优化。首先在数据采集与预处理阶段计划构建包含多种光照、姿态及遮挡条件的面部图像数据库并结合公开数据集如CASIA-WebFace、LFW、IJB-C进行扩充随后通过人脸检测算法如MTCNN或RetinaFace定位人脸区域对检测到的人脸进行对齐与归一化处理以消除姿态差异并提升后续特征提取的鲁棒性此外为解决光照不均导致的特征失真将引入基于Retinex理论的光照补偿模块并采用数据增强技术如随机裁剪、颜色抖动、仿射变换进一步丰富训练样本。其次在模型设计与训练阶段核心目标是构建一个轻量化且高精度的人脸识别网络。为此将先基于MobileFaceNet或GhostNet等轻量级骨干网络加入注意力机制如SE、CBAM以提升特征表达能力随后通过知识蒸馏将大模型如ArcFace中的知识迁移至轻量级学生模型以弥补参数削减带来的性能损失在损失函数设计上将采用角度余弦损失ArcFace或其改进版本以增强特征间的角度分离度训练过程中将结合对抗训练与混合精度训练技术以提升模型对遮挡、光照变化的鲁棒性并降低显存占用。随后系统集成与部署阶段将采用Python生态下的Flask或FastAPI框架搭建RESTful接口利用TensorFlow Lite或ONNX Runtime实现模型推理在硬件层面将支持NVIDIA Jetson系列、Intel Movidius Myriad以及ARM Cortex-A系列等边缘设备并通过CUDA、OpenCL或Vulkan加速推理此外为满足企业与教育机构多租户管理需求将设计基于角色的访问控制RBAC与日志审计模块确保考勤数据的安全与可追溯性。最后在性能评估与优化阶段将使用标准指标如识别准确率、召回率、误识率、推理时延、能耗对系统进行全面评估针对评估结果将采用模型剪枝、量化以及知识蒸馏等技术进一步压缩模型并提升推理速度同时通过对抗样本检测与防御机制提升系统在恶意攻击场景下的安全性。整个研究过程将遵循实验可重复性原则所有代码与数据将在公开平台如GitHub、OpenML共享以促进学术界与产业界的共同进步。六、需求分析用户需求方面本研究的目标用户主要为企业人力资源部门、学校教务管理人员以及现场安全监控管理员。首先用户对系统的安全性与可靠性要求极高需保证考勤数据不被篡改、伪造或泄露并且能够抵御常见的对抗攻击与身份冒用行为其次用户期望系统能够实现无接触、自动化的考勤流程以减少人工登记时间并降低因人为疏忽导致的误差再次用户对实时性有严格要求系统在摄像头捕获到人脸后需在数百毫秒内完成识别并更新考勤记录以满足高峰时段并发访问的需求此外用户关注系统的易用性与可维护性希望能够通过简洁直观的管理界面完成人员登记、考勤查询与报表生成并支持多租户或分部门的数据隔离最后随着个人信息保护法规日益严格用户需要系统能够实现差分隐私或同态加密等技术手段对存储与传输的特征向量进行安全处理以满足合规要求。功能需求方面系统需包含以下核心模块摄像头采集接口负责实时获取视频流并将帧数据传递给后端人脸检测与对齐模块利用MTCNN或RetinaFace算法定位人脸并进行姿态校正以消除角度偏差特征提取模块采用轻量化的卷积神经网络如MobileFaceNetSE生成128维或256维的人脸嵌入向量身份比对模块通过余弦相似度或欧氏距离与数据库中已注册的特征进行匹配并根据阈值决定是否认定为同一身份考勤记录管理模块将识别结果与时间戳、摄像头位置等元数据写入关系型数据库以支持后续查询与统计管理员接口提供人员注册、离职注销、异常处理以及权限管理功能支持批量导入CSV或Excel文件并进行身份验证报表生成模块能够按日、周、月或学期输出考勤率、迟到率等指标并支持PDF或Excel导出安全与合规模块实现对特征向量的加密存储与传输采用AES-256或同态加密技术并提供日志审计功能性能监控模块实时记录推理时延、CPU/GPU利用率、内存占用等指标并在阈值触发时自动触发调优或告警。通过上述功能的有机整合系统能够满足用户对安全、准确、实时与易用性的综合需求。七、可行性分析经济可行性方面本研究所需的硬件投入主要集中在摄像头、边缘计算设备以及服务器集群单台摄像头成本约为数百元边缘设备如Jetson Nano或Myriad芯片价格在千元级别服务器则可采用云服务按需计费模式降低初期资本支出软件方面Python及其深度学习框架均为开源免费资源系统开发与维护成本主要来自人力投入预计研发周期为一年左右可通过高校实验室与企业联合研发实现成本分摊在运营阶段系统实现自动化考勤后可显著减少人工登记与人工审核所需的人力资源从而降低长期人力成本此外系统的轻量化设计使其能够在低功耗设备上运行进一步降低能源消耗与维护费用。综上所述项目在硬件、软件与运营成本方面均具备可接受的经济性并有望在投入产出比上实现正向收益。社会可行性方面随着疫情防控常态化与智慧校园、智慧企业建设的推进无接触考勤已成为社会需求热点本系统通过人脸识别技术实现高效、准确的身份验证能够提升公共场所与工作场所的安全管理水平同时系统对个人信息采用差分隐私或同态加密等技术符合《个人信息保护法》与《网络安全法》的合规要求能够获得监管部门与公众的信任在就业层面该系统的推广将促进人工智能、计算机视觉与嵌入式系统等相关产业的发展为高校毕业生提供技术实践与就业机会此外系统易于部署且支持多租户管理可满足不同规模机构的差异化需求具有较高的社会适用性和推广价值。技术可行性方面基于Python生态与主流深度学习框架TensorFlow、PyTorch的开发环境已成熟人脸检测与对齐算法MTCNN、RetinaFace已在工业界得到广泛验证精度高且推理速度快轻量化网络MobileFaceNet、GhostNet结合注意力机制与角度余弦损失可在保持高识别率的同时满足边缘设备的计算资源限制对抗训练与混合精度训练技术能够提升模型在光照变化、遮挡等复杂环境下的鲁棒性系统集成层面Python的Flask或FastAPI框架可实现高效的RESTful接口TensorFlow Lite或ONNX Runtime支持多平台部署安全层面可通过AES-256加密与同态加密技术实现特征向量的安全存储与传输综上所述现有技术方案能够满足项目对性能、实时性、可扩展性与安全性的全部要求技术可行性得到充分保障。八、功能分析系统功能模块设计遵循“前端采集-后端处理-数据管理-安全保障”四层架构具体包括以下七大功能模块摄像头采集与预处理模块、特征提取与比对模块、考勤记录与统计模块、管理员操作与权限管理模块、数据安全与隐私保护模块、性能监控与日志管理模块以及系统部署与接口集成模块。摄像头采集与预处理模块负责实时获取视频流采用多路摄像头同步采集技术并对每帧图像进行人脸检测使用MTCNN或RetinaFace算法与对齐以消除姿态差异并裁剪出标准化的人脸区域随后将预处理后的图像传递给特征提取与比对模块。特征提取与比对模块基于轻量化卷积神经网络如MobileFaceNetSE生成128维或256维的人脸嵌入向量并通过余弦相似度或欧氏距离与数据库中已注册的特征进行匹配若相似度超过阈值则判定为同一身份并返回考勤确认结果。考勤记录与统计模块将识别结果、时间戳、摄像头位置等元数据写入关系型数据库并支持按日、周、月或学期生成考勤率、迟到率等报表报表可导出为PDF或Excel文件。管理员操作与权限管理模块提供人员注册、离职注销、异常考勤处理以及角色权限配置功能管理员可通过Web界面批量导入CSV或Excel文件进行身份登记并对异常记录进行人工审核与纠正。数据安全与隐私保护模块采用AES-256加密或同态加密技术对人脸特征向量进行安全存储与传输并实现日志审计功能确保所有操作可追溯且符合《个人信息保护法》要求。性能监控与日志管理模块实时采集系统运行指标CPU/GPU利用率、内存占用、推理时延等并在阈值触发时自动生成告警同时记录详细操作日志便于故障排查与性能调优。系统部署与接口集成模块通过Python的Flask或FastAPI框架实现RESTful API支持多种硬件平台NVIDIA Jetson、Intel Movidius、ARM Cortex-A以及云端服务器的无缝部署同时提供Docker镜像和Kubernetes部署脚本方便快速扩容与灰度发布。上述模块相互协作形成一套完整、可扩展且安全可靠的人脸识别考勤系统。九、数据库设计表users字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注user_id | 用户编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识用户username | 登录用户名 | 50 | VARCHAR(50) NOT NULL UNIQUE | | 用户登录名必须唯一password_hash | 密码哈希值 | 255 | VARCHAR(255) NOT NULL | | 存储加密后的密码full_name | 全名 | 100 | VARCHAR(100) NULL | | 用户真实姓名email | 邮箱地址 | 100 | VARCHAR(100) NULL UNIQUE | | 用于通知与密码重置phone | 联系电话 | 20 | VARCHAR(20) NULL | | 手机或座机号码created_at | 创建时间 | 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP | | 用户记录创建时间updated_at | 更新时间 | 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | |表roles字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注role_id | 角色编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识角色role_name | 角色名称 | 50 | VARCHAR(50) NOT NULL UNIQUE | | 如管理员、教师、学生description | 描述 | 255 | VARCHAR(255) NULL | |表user_roles字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注user_id | 用户编号 | 11 | INT UNSIGNED NOT NULL | 外键 → users.user_id (ON DELETE CASCADE) | 用户所属角色role_id | 角色编号 | 11 | INT UNSIGNED NOT NULL | 外键 → roles.role_id (ON DELETE CASCADE) | 角色所属用户PRIMARY KEY (user_id, role_id) | 复合主键 | | |表faces字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注face_id | 人脸特征编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识人脸特征user_id | 所属用户编号 | 11 | INT UNSIGNED NOT NULL | 外键 → users.user_id (ON DELETE CASCADE) | 与用户一对多关联feature_vector | 特征向量存储 | 512 | VARBINARY(512) NOT NULL | | 存储128维或256维浮点特征的二进制表示created_at | 采集时间 | 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP | |表cameras字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注camera_id | 摄像头编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识摄像头location | 摄像头位置描述 | 100 | VARCHAR(100) NULL | |ip_address | IP地址 | 45 | VARCHAR(45) NOT NULL UNIQUE | |stream_url | 流媒体URL | 255 | VARCHAR(255) NULL | |表attendance_logs字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注log_id | 考勤记录编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识考勤记录user_id | 用户编号 | 11 | INT UNSIGNED NOT NULL | 外键 → users.user_id (ON DELETE SET NULL) | 关联用户camera_id | 摄像头编号 | 11 | INT UNSIGNED NOT NULL | 外键 → cameras.camera_id (ON DELETE SET NULL) | 采集摄像头timestamp | 考勤时间戳 | 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP | |status | 考勤状态 | 10 | ENUM(present,absent,late,early_leave) NOT NULL DEFAULT present | |remark | 备注信息 | 255 | VARCHAR(255) NULL | |表permissions字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注permission_id | 权限编号 | 11 | INT UNSIGNED NOT NULL AUTO_INCREMENT | 主键 | 自增主键唯一标识权限permission_name | 权限名称 | 50 | VARCHAR(50) NOT NULL UNIQUE | |description | 描述 | 255 | VARCHAR(255) NULL |表role_permissions字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注role_id | 角色编号 | 11 | INT UNSIGNED NOT NULL | 外键 → roles.role_id (ON DELETE CASCADE) |permission_id | 权限编号 | 11 | INT UNSIGNED NOT NULL | 外键 → permissions.permission_id (ON DELETE CASCADE) |PRIMARY KEY (role_id, permission_id) | 复合主键 | |以上表结构遵循第一范式字段原子化第二范式无部分函数依赖第三范式无传递依赖保证数据完整性与查询效率。十、建表语句CREATE DATABASE IF NOT EXISTS face_attendance CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE face_attendance;-- 用户表CREATE TABLE users (user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL UNIQUE,password_hash VARCHAR(255) NOT NULL,full_name VARCHAR(100),email VARCHAR(100) UNIQUE,phone VARCHAR(20),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (user_id)) ENGINEInnoDB;-- 角色表CREATE TABLE roles (role_id INT UNSIGNED NOT NULL AUTO_INCREMENT,role_name VARCHAR(50) NOT NULL UNIQUE,description VARCHAR(255),PRIMARY KEY (role_id)) ENGINEInnoDB;-- 用户角色关联表CREATE TABLE user_roles (user_id INT UNSIGNED NOT NULL,role_id INT UNSIGNED NOT NULL,PRIMARY KEY (user_id, role_id),CONSTRAINT fk_user_roles_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_user_roles_roleFOREIGN KEY (role_id) REFERENCES roles(role_id)ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB;-- 人脸特征表CREATE TABLE faces (face_id INT UNSIGNED NOT NULL AUTO_INCREMENT,user_id INT UNSIGNED NOT NULL,feature_vector VARBINARY(512) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (face_id),CONSTRAINT fk_faces_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB;-- 摄像头表CREATE TABLE cameras (camera_id INT UNSIGNED NOT NULL AUTO_INCREMENT,location VARCHAR(100),ip_address VARCHAR(45) NOT NULL UNIQUE,stream_url VARCHAR(255),PRIMARY KEY (camera_id)) ENGINEInnoDB;-- 考勤记录表CREATE TABLE attendance_logs (log_id INT UNSIGNED NOT NULL AUTO_INCREMENT,user_id INT UNSIGNED,camera_id INT UNSIGNED,timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,status ENUM(present,absent,late,early_leave) NOT NULL DEFAULT present,remark VARCHAR(255),PRIMARY KEY (log_id),INDEX idx_attendance_user (user_id),INDEX idx_attendance_camera (camera_id),CONSTRAINT fk_attendance_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON DELETE SET NULL ON UPDATE CASCADE,CONSTRAINT fk_attendance_cameraFOREIGN KEY (camera_id) REFERENCES cameras(camera_id)ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB;-- 权限表CREATE TABLE permissions (permission_id INT UNSIGNED NOT NULL AUTO_INCREMENT,permission_name VARCHAR(50) NOT NULL UNIQUE,description VARCHAR(255),PRIMARY KEY (permission_id)) ENGINEInnoDB;-- 角色权限关联表CREATE TABLE role_permissions (role_id INT UNSIGNED NOT NULL,permission_id INT UNSIGNED NOT NULL,PRIMARY KEY (role_id, permission_id),CONSTRAINT fk_role_permissions_roleFOREIGN KEY (role_id) REFERENCES roles(role_id)ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_role_permissions_permissionFOREIGN KEY (permission_id) REFERENCES permissions(permission_id)ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB;下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式
返回列表