[MySQL]购物管理系统—简略版

news2024/11/24 3:35:10

本文内容需以MySQL支持

特别感谢baidu comate AI提供的少量虚拟数据

0.建库(建立数据库——utf8字符集,utf8_general_ci排序规则)

1.此项目ER图如下

2.DDL+DML(共九表,27数据)

SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods`  (
  `goods_id` int(11) NOT NULL AUTO_INCREMENT,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  `goods_class_id` int(11) NOT NULL,
  `goods_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`goods_id`) USING BTREE,
  INDEX `goods_class_id`(`goods_class_id`) USING BTREE,
  INDEX `goods_name`(`goods_name`) USING BTREE,
  CONSTRAINT `goods_ibfk_1` FOREIGN KEY (`goods_class_id`) REFERENCES `goods_class` (`goods_class_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `goods_class`;
CREATE TABLE `goods_class`  (
  `goods_class_id` int(11) NOT NULL AUTO_INCREMENT,
  `class_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  `base_class` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`goods_class_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `goods_info`;
CREATE TABLE `goods_info`  (
  `goods_info_id` int(11) NOT NULL AUTO_INCREMENT,
  `goods_id` int(11) NOT NULL,
  `goods_price` decimal(10, 2) NOT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  `goods_class_id` int(11) NOT NULL,
  `goods_number` int(11) NOT NULL,
  PRIMARY KEY (`goods_info_id`) USING BTREE,
  INDEX `goods_id`(`goods_id`) USING BTREE,
  INDEX `goods_class_id`(`goods_class_id`) USING BTREE,
  CONSTRAINT `goods_info_ibfk_1` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`goods_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `goods_info_ibfk_2` FOREIGN KEY (`goods_class_id`) REFERENCES `goods_class` (`goods_class_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `order`;
CREATE TABLE `order`  (
  `order_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  `goods_id` int(11) NOT NULL,
  `paystatus` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '\'待支付\'',
  `goodstatus` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '\'待运送\',\'运送中\',\'已送达\'',
  PRIMARY KEY (`order_id`) USING BTREE,
  INDEX `user_id`(`user_id`) USING BTREE,
  INDEX `goods_id`(`goods_id`) USING BTREE,
  CONSTRAINT `order_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `order_ibfk_2` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`goods_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `order_log`;
CREATE TABLE `order_log`  (
  `order_log_id` int(11) NOT NULL AUTO_INCREMENT,
  `order_id` int(11) NOT NULL,
  `paymode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `number` int(11) NULL DEFAULT NULL,
  `amount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL,
  PRIMARY KEY (`order_log_id`) USING BTREE,
  INDEX `order_id`(`order_id`) USING BTREE,
  CONSTRAINT `order_log_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `phone` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
  PRIMARY KEY (`user_id`) USING BTREE,
  UNIQUE INDEX `username`(`user_name`) USING BTREE,
  UNIQUE INDEX `email`(`email`) USING BTREE,
  UNIQUE INDEX `phone`(`phone`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info`  (
  `user_info_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `age` int(3) NULL DEFAULT NULL,
  `sex` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '1:男 0:女',
  `id_number` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `true_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`user_info_id`) USING BTREE,
  INDEX `user_id`(`user_id`) USING BTREE,
  CONSTRAINT `user_info_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `user_wallet`;
CREATE TABLE `user_wallet`  (
  `user_wallet_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `balance` decimal(10, 2) NOT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  PRIMARY KEY (`user_wallet_id`) USING BTREE,
  INDEX `user_id`(`user_id`) USING BTREE,
  CONSTRAINT `user_wallet_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

DROP TABLE IF EXISTS `user_wallet_log`;
CREATE TABLE `user_wallet_log`  (
  `user_wallet_log_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `payamount` decimal(10, 2) NOT NULL,
  `user_wallet_id` int(11) NOT NULL,
  `paymode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `create_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  PRIMARY KEY (`user_wallet_log_id`) USING BTREE,
  INDEX `user_id`(`user_id`) USING BTREE,
  INDEX `user_wallet_id`(`user_wallet_id`) USING BTREE,
  CONSTRAINT `user_wallet_log_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `user_wallet_log_ibfk_2` FOREIGN KEY (`user_wallet_id`) REFERENCES `user_wallet` (`user_wallet_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `user` VALUES (1, 'Alice', 'password123', 'alice@example.com', '1234567890', '2024-06-27 14:11:28');
INSERT INTO `user` VALUES (2, 'Bob', 'bobpass', 'bob@example.com', '0987654321', '2024-06-27 14:11:28');

INSERT INTO `user_info` VALUES (1, 1, 25, '1', '123456789012345678', 'Alice Smith');
INSERT INTO `user_info` VALUES (2, 2, 30, '0', '098765432109876543', 'Bob Johnson');

INSERT INTO `user_wallet` VALUES (1, 1, 1000.00, '2024-06-27 14:11:28');
INSERT INTO `user_wallet` VALUES (2, 2, 500.00, '2024-06-27 14:11:28');

INSERT INTO `user_wallet_log` VALUES (1, 1, 8999.00, 1, '支付宝', '2024-06-27 14:11:28');
INSERT INTO `user_wallet_log` VALUES (2, 2, 39.90, 2, '微信支付', '2024-06-27 14:11:28');

INSERT INTO `goods_class` VALUES (1, '电子产品', '2024-06-27 14:15:22', '0');
INSERT INTO `goods_class` VALUES (2, '生活用品', '2024-06-27 14:15:23', '1');
INSERT INTO `goods_class` VALUES (3, '书籍', '2024-06-27 14:15:25', '1');

INSERT INTO `goods` VALUES (1, '2024-06-27 14:11:28', 1, 'iPhone 13');
INSERT INTO `goods` VALUES (2, '2024-06-27 14:11:28', 2, '洗发水');
INSERT INTO `goods` VALUES (3, '2024-06-27 14:11:28', 3, '编程入门');

INSERT INTO `goods_info` VALUES (1, 1, 8999.00, '2024-06-27 14:11:28', 1, 100);
INSERT INTO `goods_info` VALUES (2, 2, 39.90, '2024-06-27 14:11:28', 2, 200);
INSERT INTO `goods_info` VALUES (3, 3, 59.90, '2024-06-27 14:11:28', 3, 50);

INSERT INTO `order` VALUES (1, 1, '2024-06-27 14:11:28', 1, '待支付', '待运送');
INSERT INTO `order` VALUES (2, 1, '2024-06-27 14:11:28', 2, '已支付', '运送中');
INSERT INTO `order` VALUES (3, 2, '2024-06-27 14:11:28', 3, '已支付', '已送达');

INSERT INTO `order_log` VALUES (1, 1, '支付宝', 1, '8999.00', '2024-06-27 14:11:28');
INSERT INTO `order_log` VALUES (2, 2, '微信支付', 1, '39.90', '2024-06-27 14:11:28');
INSERT INTO `order_log` VALUES (3, 3, '银行卡', 1, '59.90', '2024-06-27 14:11:28');

-- 查询相关insert

-- goods表相关
INSERT INTO `goods` VALUES (4, now(), 1, 'OPPO Reno7 Pro 5G');
INSERT INTO `goods` VALUES (5, now(), 1, 'OPPO Reno7');

-- goods_info相关
INSERT INTO `goods_info` VALUES ('4', '4', '4800.00', now(), '1', '50');
INSERT INTO `goods_info` VALUES ('5', '5', '4500.00', now(), '1', '50');

3.相关查询

-- 查询'已支付'订单
select * from `order` where `order`.paystatus='已支付'; 

-- 查询用户完全信息
select `user`.*,
`user_info`.age,`user_info`.sex,`user_info`.id_number,`user_info`.true_name 
from `user` join `user_info` 
on `user`.user_id=`user_info`.user_id;

-- 模糊查询相似商品(走索引)
select * from `goods` where `goods`.goods_name like 'OPPO%';

4.触发器建立

-- 加入用户钱包
delimiter $$
create trigger insert_user_wallet
after insert on `user`
for each row
begin
	insert into `user_wallet` (user_id,balance,create_time) 
	values (new.user_id,0.00,now());
end;
$$
delimiter ;

测试用相关插入语句

INSERT INTO `user` VALUES (3, 'season', '20050918season', 'season@secondworld.com', '2002020213', now());
-- 删除所有用户信息(慎用,慎用,慎用)
create trigger delete_user_all
before delete on `user`
for each row
begin
	delete from `user_info` where user_id=old.user_id;
	delete from `user_wallet` where user_id=old.user_id;
	delete from `user_wallet_log` where user_id=old.user_id;
	delete from `order` where user_id=old.user_id;
end;

5.订单建立(存储过程)


create procedure create_order(
in in_user_id int,
in in_goods_id int,
in in_count_id int
)
BEGIN
-- 设局部变量+
	declare in_goods_number int;
	declare in_goods_price decimal(10,2);
	declare final_price decimal(10,2);
	declare in_user_balance decimal(10,2);
	declare in_user_wallet_id int;
	declare in_order_id int;
-- 检测是否有库存
	select goods_number into in_goods_number from goods_info where goods_id=in_goods_id;
	if in_count_id>in_goods_number then
		signal sqlstate '45000' set message_text='商品库存不足。';
	end if;
-- 计算商品总价
	select goods_price into in_goods_price from goods_info where goods_id=in_goods_id;
	set final_price=in_goods_price*in_count_id;
-- 检测账户余额
	select balance into in_user_balance from user_wallet where user_id=in_user_id;
	if in_user_balance<final_price then
		signal sqlstate '45000' set message_text='账户余额不足。';
	end if;
-- 进行相关表的修改
	start transaction;
	insert into `order` (user_id,create_time,goods_id,paystatus,goodstatus) values (in_user_id,now(),in_goods_id,'待支付','未运送');  -- order相关
	set in_order_id=LAST_INSERT_ID();
	insert into `order_log` (order_id,paymode,number,amount,create_time) values (in_order_id,'none',in_goods_number,final_price,now());  -- order_log相关
	update goods_info set goods_number=goods_number-in_count_id where goods_id=in_goods_id;  -- goods_info相关
	update user_wallet set balance=balance-final_price where user_id=in_user_id;  -- user_wallet相关
	select user_wallet_id into in_user_wallet_id from user_wallet where user_id=in_user_id;
	insert into user_wallet_log (user_id,user_wallet_id,payamount,paymode,create_time)values(in_user_id,in_user_wallet_id,final_price,'none',now());  -- user_wallet_log相关
	commit;
END;
-- 使用此语句调用[记得替换'()'中的参数]
call create_order('用户_id','商品_id','购买数量');

——想法很多,思路很好,但人类的力量是有极限的。(无名著)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1871302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

定制型汽车传感器在汽车中的应用

定制型汽车霍尔传感器在汽车中的应用及功能 曲轴和凸轮轴位置传感器&#xff1a; 这些传感器用于监测发动机的曲轴和凸轮轴的位置&#xff0c;帮助发动机管理系统精确控制点火时机和燃油喷射&#xff0c;提高发动机效率。 变速器控制系统&#xff1a; 在自动变速器中&#xf…

Spring Boot中获取请求参数的几种方式

前言 在构建现代 Web 应用时&#xff0c;处理来自客户端的请求参数是不可或缺的一部分。Spring Boot作为构建微服务应用的领先框架&#xff0c;提供了多种灵活高效的方式来获取请求参数&#xff0c;满足各种应用场景。 无论您是Spring Boot的初学者&#xff0c;还是希望更深入…

Python私教张大鹏 PyWebIO通过事件回调实现表格的编辑和删除功能

从上面可以看出&#xff0c;PyWebIO把交互分成了输入和输出两部分&#xff1a;输入函数为阻塞式调用&#xff0c;会在用户浏览器上显示一个表单&#xff0c;在用户提交表单之前输入函数将不会返回&#xff1b;输出函数将内容实时输出至浏览器。这种交互方式和控制台程序是一致的…

PY32F003系列单片机,超值国产32位单片机,资料齐全 易于开发

PY32F003 系列微控制器是采用高性能的 32 位 ARM Cortex-M0 内核&#xff0c;宽电压工作范围的 MCU。嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器&#xff0c;最高工作频率 32 MHz。包含多种不同封装类型多款产品。 PY32F003 系列微控制器的工作温度范围为 -40 ~ 85 ℃…

【铂电阻测温】如何保证热电阻采集的可靠性

TPS02RAH的输出接口为I2C&#xff0c;支持主机动态更改模块I2C地址&#xff0c;实现了单I2C总线挂载多个TPS02RAH测温模块的功能。 TPS02RAH的输出接口为I2C&#xff0c;支持主机动态更改模块I2C地址&#xff0c;实现了单I2C总线挂载多个TPS02RAH测温模块的功能。 参考链接 【…

酷瓜云课堂(内网版)v1.1.5 发布,局域网在线学习+考试系统

更新内容 更新layui-v2.9.10更新docker国内镜像地址增加导入镜像构建容器的方式教师不批阅非首次考试试卷轮播图增加专栏类型目标链接增加课程能否发布检查去除初始化kindeditor语言文件去除选择题EF选项优化富文本内容显示样式优化内容图片点击放大监听优化试题题干答案等图片…

量化交易策略:定义及其重要性

量化交易是华尔街和硅谷的秘密结合点&#xff0c;在这里数学和算法与金钱和市场相遇。虽然它曾经是金融巨头的专属领域&#xff0c;但现在它比以往任何时候都更易于接触。 但不要被愚弄&#xff0c;量化交易仍然是一种高速、高压的游戏&#xff0c;在毫秒间可以赚到或失去财富…

nodepad 中换行符、tab替换

1 nodepad 主要符号 换行符: \r\n&#xff08;windows&#xff09; tab: \t 2 展示符号 3 相互替换 tip:需要点击扩展 参考&#xff1a; https://blog.csdn.net/lijing742180/article/details/85174564

商务英语培训柯桥外语学校生活口语“Rose”是玫瑰,那“Under the rose”是“玫瑰之下”?

最近&#xff0c;《玫瑰的故事》很火&#xff0c;女主角在剧中也经常收到黄色的玫瑰花。玫瑰花常常与爱情、美丽和浪漫相关&#xff0c;今天一起跟着英语君学习玫瑰花的俚语吧。 Under the rose 意思&#xff1a;私下地、秘密地或隐秘地。来自拉丁语短语sub-rosa&#xff0c;它…

EE5805-java-Lecture1 Introduction to java

暑期选择了java减轻下学期的课量&#xff0c;在本科期间就已经学过Java了&#xff0c;现在写一些笔记作为复习。 The Goal • To understand the Java runtime environment. • To know Java’s terminologies, advantages and characteristics. • To recognize the form of…

vi编辑器的常用方法

一、背景描述 在我们连接操作Linux服务器的时候&#xff0c;需要对其配置文件等内容进行一些增删改的操作&#xff0c;一般情况下我们直接使用Linux系统自带vi编辑器进行相应的操作&#xff0c;熟悉vi的常用功能对于我们编辑一些较大的文件效率能够有所提升&#xff0c;使用起来…

【设计模式】行为型-策略模式

策略模式&#xff0c;如春风吹过&#xff0c;随心所欲&#xff0c;变幻无穷&#xff0c;每一丝风都是一种选择。 文章目录 一、订单处理二、策略模式三、策略模式的核心组成四、运用策略模式五、策略模式的应用场景六、小结推荐阅读 一、订单处理 场景假设&#xff1a;有一个…

Python网络爬虫实战6—下一页,模拟用户点击,切换窗口

【前期提要】感兴趣的可以看看往期文章哈~ Python网络爬虫5-实战网页爬取 Python网络爬虫4-实战爬取pdf Pyhon网络爬虫3-模拟用户点击 Python网络爬虫实战2-下载url下的pdf Python网络爬虫基础1 1.需求背景 针对长虹美菱电器说明书网页形式&#xff0c;编写爬虫代码&#xff…

数通云网架构师涨薪班毕业都有哪些工作企业和岗位?

数通云网架构师涨薪班课程学完后&#xff0c;学员具备全行业全场景交付数通项目的能力&#xff0c;胜任企业网&#xff0c;广域网&#xff0c;数据中心网络等各种网络项目的交付能力&#xff0c;技术能力一项能够匹配年薪达30w-40w以上网络工程师岗位。 与誉天进行人才培养&…

Swagger2及常用校验注释说明

Api(value "后台用户管理") RestController RequestMapping("bossuser") public class BossUserController {ApiOperation(value "测试接口")PostMapping("test")public String testUser(Valid RequestBody TestUser user) {LOG.inf…

大数据------额外软件、插件及技术------Linux(完整知识点汇总)

Linxu 不同领域的主流操作系统 桌面操作系统 WindowsMAac OSLinux 服务器端操作系统 UNIX&#xff08;付费&#xff09;LinuxWindows Server&#xff08;付费&#xff09; 移动设备操作系统 Android&#xff08;基于Linux开源&#xff09;IOS&#xff08;不开源&#xff09; 嵌…

电脑桌面便签怎么添加,桌面备忘录软件哪个简单又好用?

在日常的工作或学习中&#xff0c;我们经常需要记事、备忘。这时&#xff0c;一个简单实用的桌面便签工具就显得尤为重要了。那么&#xff0c;电脑桌面便签怎么添加&#xff1f;又有哪些桌面备忘录软件既简单又好用呢&#xff1f; 首先&#xff0c;关于如何添加电脑桌面便签。…

vue如何引入图标

方法1&#xff1a;iconify/vue pnpm add iconify/vue -D 网址&#xff1a;https://icon-sets.iconify.design/ 使用哪个需要安装 如下截图,安装指令&#xff1a; > npm install iconify/icons-gg在使用的页面引入 import { Icon } from “iconify/vue”; <template>…

CODESYS+EtherCAT+X86/ARM硬件平台:高性能运动控制的标配,支持定制

支持的硬件标准与定制平台&#xff1a; X86:INTEL ARM: RK3568/RK3588/TI/NXP/树莓派/全志T3/A40i等 前段时间分享了施耐德基于CODEYS开发的首款支持EtherCAT总线的运动控制器&#xff0c;CODESYSEtherCATX86硬件平台&#xff1a;高性能运动控制的标配。 CODESYS第一次接触还…

【银河麒麟】unzip程序卡住,处理机制详解,附代码

1.服务器环境以及配置 【机型】 处理器&#xff1a; HUAWEI,Kunpeng 920 内存&#xff1a; 400G 【内核版本】 4.19.90-23.18.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟高级服务器操作系统V10-SP1-0711-arm 【第三方软件】 docker 2.问题现象描述 一台k8s服务器…