[MySQL] SQL ショートサーキットを使用してデータテーブル接続がない問題を解決する

一連の記事

MySQL インストール チュートリアル (詳細)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/126037520

MySQL アンインストール チュートリアル (詳細)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129279265

[MySQL] 分類および概要ごとにグループに「合計」フィールドを追加する方法
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/128217837


序文

SQLの機能や特徴、SQLデータ定義言語(テーブル、ビュー、インデックス、制約)、SQLデータ操作言語(データ検索、データ挿入、データ削除、データ更新)、作成を中心に紹介する【データベース編】です。削除トリガー、SQL データ制御言語 (セキュリティと承認、トランザクション処理)、および埋め込み SQL。
このアルバムに興味がある方は、ぜひ注目してみてください。ご質問がある場合は、コメント欄にフィードバックを送ったり、私にプライベートメッセージを送っていただくこともできます。
ここに画像の説明を挿入

1. 技術紹介

SQL ショートサーキットを使用してデータテーブル接続がない問題を解決する

2. テストケース

2.1 データの準備

2.1.1 ユーザー情報フォーム

/*
 Navicat Premium Data Transfer

 Source Server         : 本地连接
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : localhost:3306
 Source Schema         : dl_mes

 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001

 Date: 30/06/2023 11:14:11
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for 用户信息表
-- ----------------------------
DROP TABLE IF EXISTS `用户信息表`;
CREATE TABLE `用户信息表`  (
  `用户编号` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户姓名` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户性别` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '男',
  `用户年龄` tinyint(4) NOT NULL DEFAULT 0,
  `用户头像` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `公司编号` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `公司名称` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '空',
  `工厂名称` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `工作部门` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `工作场所` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `工作班次` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户工号` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户角色` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `外网权限` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '否',
  `软件版本` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `登录地址` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `在线状态` tinyint(4) NOT NULL DEFAULT 0,
  `心跳包` tinyint(4) NOT NULL DEFAULT 0,
  PRIMARY KEY (`用户编号`) USING BTREE,
  INDEX `AK_Key_CompanyID`(`公司编号` ASC) USING BTREE,
  INDEX `AK_Key_FactoryName`(`工厂名称` ASC) USING BTREE,
  INDEX `AK_Key_Department`(`工作部门` ASC) USING BTREE,
  INDEX `AK_Key_WorkRoom`(`工作场所` ASC) USING BTREE,
  INDEX `AK_Key_Role`(`用户角色` ASC) USING BTREE,
  INDEX `AK_Key_UserWorkID`(`用户工号` ASC) USING BTREE,
  INDEX `AK_Key_Shift`(`工作班次` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '0-1-基础信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of 用户信息表
-- ----------------------------
INSERT INTO `用户信息表` VALUES ('developA', '吴国宝', '男', 0, '空', 'Z', '鼎禄', '一期', 'IT服务部', 'IT办公室', '空', 'developA', '管理员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('developB', '耿飚', '男', 0, '空', 'Z', '鼎禄', '一期', 'IT服务部', 'IT办公室', '空', 'developB', '管理员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('developC', '葛游成', '男', 0, '空', 'Z', '鼎禄', '一期', 'IT服务部', 'IT办公室', '空', 'developC', '管理员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000001', '郑坤坤', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '生产车间办公室', 'W1', '000001', '粗丝车间经理', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000016', '陈国洪', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000016', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000018', '李佳宁', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000018', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000021', '文仁平', '男', 0, '空', 'Z', '鼎禄', '一期', '仓库', '仓库', 'W1', '000021', '库管员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000023', '唐杨', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '模具车间', 'W1', '000023', '模具车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000036', '唐刚', '男', 0, '空', 'Z', '鼎禄', '一期', '仓库', '仓库', 'W1', '000036', '库管员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000044', '唐益龙', '男', 0, '空', 'Z', '鼎禄', '一期', '质量部', '物理检验室', 'W1', '000044', '物理检验员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000052', '吴祥林', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000052', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000053', '刘松', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000053', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000070', '雷小庆', '男', 0, '空', 'Z', '鼎禄', '一期', '质量部', '物理检验室', 'W1', '000070', '物理检验员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000075', '雷松', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000075', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000080', '敬云兵', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000080', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000093', '陈杰', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000093', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000096', '蒋强', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000096', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000106', '叶栋荧', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000106', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000107', '李朋涛', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '粗丝车间_M', 'W1', '000107', '粗丝车间操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000112', '邱建国', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000112', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000170', '邓超', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000170', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000189', '薛铁山', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000189', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000192', '徐阳菊', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000192', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000195', '陈晓英', '男', 0, '空', 'Z', '鼎禄', '一期', '生产部', '细丝车间_D', 'W1', '000195', '润滑液操作员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000201', '张红琼', '男', 0, '空', 'Z', '鼎禄', '一期', '仓库', '仓库', 'W1', '000201', '库管员', '是', '空', '空', 0, 0);
INSERT INTO `用户信息表` VALUES ('Z000202', '李峰雷', '男', 0, '空', 'Z', '鼎禄', '一期', '仓库', '仓库', 'W1', '000202', '库管员', '是', '空', '空', 0, 0);

SET FOREIGN_KEY_CHECKS = 1;

2.1.2 ユーザー権限テーブル

CREATE TABLE `用户权限表`  (
  `AutoID` bigint(20) NOT NULL AUTO_INCREMENT,
  `公司编号` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户编号` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户姓名` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `用户角色` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `模组名称` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `模块名称` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `权限名称` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '空',
  `权限使能` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '否',
  PRIMARY KEY (`AutoID`) USING BTREE,
  INDEX `AK_Key_CompanyID`(`公司编号` ASC) USING BTREE,
  INDEX `AK_Key_UserID`(`用户编号` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3770 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '0-1-基础信息' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of 用户权限表
-- ----------------------------
INSERT INTO `用户权限表` VALUES (1714, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '管理员', '用户管理', '空', '否');
INSERT INTO `用户权限表` VALUES (1715, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '管理员', '数据采集', '空', '否');
INSERT INTO `用户权限表` VALUES (1716, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '管理员', '代码测试', '空', '否');
INSERT INTO `用户权限表` VALUES (1717, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '钨条打标', '空', '否');
INSERT INTO `用户权限表` VALUES (1718, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '粗丝打标', '空', '否');
INSERT INTO `用户权限表` VALUES (1719, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '采购入库', '空', '否');
INSERT INTO `用户权限表` VALUES (1720, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '产成品入库', '空', '否');
INSERT INTO `用户权限表` VALUES (1721, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '领用出库', '空', '否');
INSERT INTO `用户权限表` VALUES (1722, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '材料退库', '空', '否');
INSERT INTO `用户权限表` VALUES (1723, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '销售退货', '空', '否');
INSERT INTO `用户权限表` VALUES (1724, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '采购退货', '空', '否');
INSERT INTO `用户权限表` VALUES (1725, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '销售发货', '空', '否');
INSERT INTO `用户权限表` VALUES (1726, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '发货扫码', '空', '否');
INSERT INTO `用户权限表` VALUES (1727, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '隔离入库', '空', '否');
INSERT INTO `用户权限表` VALUES (1728, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '仓库', '隔离出库', '空', '否');
INSERT INTO `用户权限表` VALUES (1729, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '模具车间', '模具检验', '空', '否');
INSERT INTO `用户权限表` VALUES (1730, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '模具车间', '模具打标', '空', '否');
INSERT INTO `用户权限表` VALUES (1731, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '模具车间', '模具入库', '空', '否');
INSERT INTO `用户权限表` VALUES (1732, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '模具车间', '模具领用', '空', '否');
INSERT INTO `用户权限表` VALUES (1733, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '模具车间', '模具台账', '空', '否');
INSERT INTO `用户权限表` VALUES (1734, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝车间', '钨条断开', '空', '否');
INSERT INTO `用户权限表` VALUES (1735, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝车间', '钨条焊接', '空', '否');
INSERT INTO `用户权限表` VALUES (1736, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝车间', '钨条报废', '空', '否');
INSERT INTO `用户权限表` VALUES (1737, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝车间', '粗丝报废', '空', '否');
INSERT INTO `用户权限表` VALUES (1738, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝车间', '断口取样', '空', '否');
INSERT INTO `用户权限表` VALUES (1739, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝车间', '粗丝报废', '空', '否');
INSERT INTO `用户权限表` VALUES (1740, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝车间', '成品报废', '空', '否');
INSERT INTO `用户权限表` VALUES (1741, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '钨条样', '空', '否');
INSERT INTO `用户权限表` VALUES (1742, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '钨条金相样', '空', '否');
INSERT INTO `用户权限表` VALUES (1743, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '钨条力学样', '空', '否');
INSERT INTO `用户权限表` VALUES (1744, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '退火镜像样', '空', '否');
INSERT INTO `用户权限表` VALUES (1745, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '粗丝探伤', '空', '否');
INSERT INTO `用户权限表` VALUES (1746, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '粗丝样', '空', '否');
INSERT INTO `用户权限表` VALUES (1747, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '退火下机样', '空', '否');
INSERT INTO `用户权限表` VALUES (1748, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '调试样', '空', '否');
INSERT INTO `用户权限表` VALUES (1749, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '下机样', '空', '否');
INSERT INTO `用户权限表` VALUES (1750, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '清洗下机样', '空', '否');
INSERT INTO `用户权限表` VALUES (1751, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '断口样', '空', '否');
INSERT INTO `用户权限表` VALUES (1752, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '让步放行', '空', '否');
INSERT INTO `用户权限表` VALUES (1753, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '物理检验室', '样品数据修改', '空', '否');
INSERT INTO `用户权限表` VALUES (1754, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '产品数据', '空', '否');
INSERT INTO `用户权限表` VALUES (1755, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '样品数据', '空', '否');
INSERT INTO `用户权限表` VALUES (1756, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '工艺数据', '空', '否');
INSERT INTO `用户权限表` VALUES (1757, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '润滑液信息', '空', '否');
INSERT INTO `用户权限表` VALUES (1758, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '库存管理', '空', '否');
INSERT INTO `用户权限表` VALUES (1759, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '维修数据', '空', '否');
INSERT INTO `用户权限表` VALUES (1760, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '生产统计', '空', '否');
INSERT INTO `用户权限表` VALUES (1761, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '统计报表', '绩效考核', '空', '否');
INSERT INTO `用户权限表` VALUES (1762, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '工艺改进', '生产线产能', '空', '否');
INSERT INTO `用户权限表` VALUES (1763, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '工艺改进', '工艺监控', '空', '否');
INSERT INTO `用户权限表` VALUES (1764, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '工艺改进', '工艺设定', '空', '否');
INSERT INTO `用户权限表` VALUES (1765, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '生产看板', '车间看板', '空', '否');
INSERT INTO `用户权限表` VALUES (1766, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝前段', '零号旋锻上机', '空', '是');
INSERT INTO `用户权限表` VALUES (1767, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝前段', '零号旋锻下机', '空', '是');
INSERT INTO `用户权限表` VALUES (1768, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝前段', '四号旋锻', '空', '是');
INSERT INTO `用户权限表` VALUES (1769, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝前段', '一号退火', '空', '是');
INSERT INTO `用户权限表` VALUES (1770, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝前段', '三号旋锻', '空', '是');
INSERT INTO `用户权限表` VALUES (1771, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '二号旋锻', '空', '是');
INSERT INTO `用户权限表` VALUES (1772, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '二号退火', '空', '是');
INSERT INTO `用户权限表` VALUES (1773, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '一号旋锻', '空', '是');
INSERT INTO `用户权限表` VALUES (1774, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '大转盘', '空', '是');
INSERT INTO `用户权限表` VALUES (1775, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '小转盘', '空', '是');
INSERT INTO `用户权限表` VALUES (1776, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '粗丝后段', '气七模下盘', '空', '是');
INSERT INTO `用户权限表` VALUES (1777, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '退火调试', '空', '否');
INSERT INTO `用户权限表` VALUES (1778, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '退火开机', '空', '否');
INSERT INTO `用户权限表` VALUES (1779, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '退火下机', '空', '否');
INSERT INTO `用户权限表` VALUES (1780, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '涂润滑油上机', '空', '否');
INSERT INTO `用户权限表` VALUES (1781, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '涂润滑油下机', '空', '否');
INSERT INTO `用户权限表` VALUES (1782, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '拉拔上盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1783, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '调试取样', '空', '否');
INSERT INTO `用户权限表` VALUES (1784, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '生产开机', '空', '否');
INSERT INTO `用户权限表` VALUES (1785, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝前段', '成品下盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1786, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '改拉上盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1787, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '改拉调试', '空', '否');
INSERT INTO `用户权限表` VALUES (1788, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '改拉开机', '空', '否');
INSERT INTO `用户权限表` VALUES (1789, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '改拉下盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1790, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '矫直上机', '空', '否');
INSERT INTO `用户权限表` VALUES (1791, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '矫直下盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1792, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '清洗调试', '空', '否');
INSERT INTO `用户权限表` VALUES (1793, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '清洗开机', '空', '否');
INSERT INTO `用户权限表` VALUES (1794, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '原料下盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1795, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '细丝后段', '清洗下盘', '空', '否');
INSERT INTO `用户权限表` VALUES (1796, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '润滑液', '润滑液开缸', '空', '否');
INSERT INTO `用户权限表` VALUES (1797, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '润滑液', '润滑液分析', '空', '否');
INSERT INTO `用户权限表` VALUES (1798, 'Z', 'Z000075', '雷松', '粗丝车间操作员', '润滑液', '润滑液补加', '空', '否');

2.1.3 アプリ機能メニュー表

CREATE TABLE `app功能菜单表`  (
  `AutoID` int(20) NOT NULL AUTO_INCREMENT,
  `fun_guid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `img_src` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `menu_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `visible` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`AutoID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of app功能菜单表
-- ----------------------------
INSERT INTO `app功能菜单表` VALUES (2, 'Quality_1_TBarSample1', 'Quality_1_TBarSample1.html', '../image/yangpin.png', '钨条样', '是');
INSERT INTO `app功能菜单表` VALUES (3, 'Thick_1_XDZeroOn', 'Thick_1_XDZeroOn.html', '../image/shangji.png', '零号旋锻上机', '是');
INSERT INTO `app功能菜单表` VALUES (4, 'Thick_2_XDZeroDown', 'Thick_2_XDZeroDown.html', '../image/xiaji.png', '零号旋锻下机', '是');
INSERT INTO `app功能菜单表` VALUES (5, 'Thick_3_XDFour', 'Thick_3_XDFour.html', '../image/xuanduan.png', '四号旋锻', '是');
INSERT INTO `app功能菜单表` VALUES (6, 'Thick_4_THOne', 'Thick_4_THOne.html', '../image/tuihuo.png', '一号退火', '是');
INSERT INTO `app功能菜单表` VALUES (7, 'Thick_5_XDThree', 'Thick_5_XDThree.html', '../image/xuanduan.png', '三号旋锻', '是');
INSERT INTO `app功能菜单表` VALUES (8, 'Thick_6_XDTwo', 'Thick_6_XDTwo.html', '../image/xuanduan.png', '二号旋锻', '是');
INSERT INTO `app功能菜单表` VALUES (9, 'Thick_7_THTwo', 'Thick_7_THTwo.html', '../image/tuihuo.png', '二号退火', '是');
INSERT INTO `app功能菜单表` VALUES (10, 'Thick_8_XDOne', 'Thick_8_XDOne.html', '../image/xuanduan.png', '一号旋锻', '是');
INSERT INTO `app功能菜单表` VALUES (11, 'Thick_9_BigTurn', 'Thick_9_BigTurn.html', '../image/zhuanpan.png', '大转盘', '是');
INSERT INTO `app功能菜单表` VALUES (12, 'Thick_10_SmallTurn', 'Thick_10_SmallTurn.html', '../image/zhuanpan.png', '小转盘', '是');
INSERT INTO `app功能菜单表` VALUES (13, 'Thick_11_AirSevenDown', 'Thick_11_AirSevenDown.html', '../image/xiaji.png', '气七模下盘', '是');
INSERT INTO `app功能菜单表` VALUES (14, 'Thick_12_TBarScrap', 'Thick_12_TBarScrap.html', '../image/baofei.png', '钨条报废', '是');
INSERT INTO `app功能菜单表` VALUES (15, 'Thick_13_ThickScrap', 'Thick_13_ThickScrap.html', '../image/baofei.png', '粗丝报废', '是');

2.2 スクリプトを実行する

2.2.1 役割 – 物理検査官

スクリプトを実行します。

SELECT c.fun_guid,c.url,c.img_src,c.menu_name,
a.用户编号,a.用户角色,b.模组名称,b.权限使能
FROM dl_mes.用户信息表 a
LEFT JOIN dl_mes.用户权限表 b ON a.用户编号=b.用户编号
INNER JOIN dl_mes.app功能菜单表 c ON c.visible='是' AND (b.模块名称=c.menu_name OR a.用户角色='管理员')
WHERE a.用户编号='Z000044' AND (b.权限使能='是' OR a.用户角色='管理员');

実行結果:
ここに画像の説明を挿入
プログラムの効果:
ここに画像の説明を挿入
ここに画像の説明を挿入

2.2.2 役割 – 管理者

スクリプトを実行します。

SELECT c.fun_guid,c.url,c.img_src,c.menu_name,
a.用户编号,a.用户角色,b.模组名称,b.权限使能
FROM dl_mes.用户信息表 a
LEFT JOIN dl_mes.用户权限表 b ON a.用户编号=b.用户编号
INNER JOIN dl_mes.app功能菜单表 c ON c.visible='是' AND (b.模块名称=c.menu_name OR a.用户角色='管理员')
WHERE a.用户编号='developB' AND (b.权限使能='是' OR a.用户角色='管理员');

実行結果:
ここに画像の説明を挿入
プログラムの効果:
ここに画像の説明を挿入
ここに画像の説明を挿入

3. 利用概要

OR SQL ショートサーキットを使用すると、SQL インジェクションでも同様の方法が使用されます。

おすすめ

転載: blog.csdn.net/youcheng_ge/article/details/131472661