数据库案例

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 新增根据ID扣减库存功能,入参为id和stock。校验参数后执行数据库更新,确保库存为非负整数,更新成功返回结果,失败则抛出错误并记录日志。

增加一个根据id,扣减库存的功能。函数入参为:id,stock两个参数
// model/weaponSkinModel.js(新增)
async function updateWeaponSkinStock(id, newStock) {
// 校验
if (!id) throw new Error('ID 不能为空');
if (typeof newStock !== 'number' || newStock < 0) {
throw new Error('库存必须为非负整数');
}

try {
const [result] = await pool.execute(
'UPDATE weapon_skins SET stock = ? WHERE id = ?',
[newStock, id]
);
if (result.affectedRows === 0) {
throw new Error(未找到 ID=${id} 的数据);
}
return {
success: true,
message: 库存更新为 ${newStock},
affectedRows: result.affectedRows
};
} catch (error) {
console.error(❌ 修改 ID=${id} 库存失败:, error.message);
throw error;
}
}

// 更新暴露
module.exports = {
// *
updateWeaponSkinStock // 新增
};

// index.js(新增测试函数)
// 👉 测试:修改库存(对应 updateWeaponSkinStock 功能)
async function testUpdateWeaponSkinStock() {
console.log('===== 开始测试:修改库存 =====');
const testId = 2; // 用实际存在的 ID
const newStock = 15;
try {
await testPoolConnection();
// 执行修改
const result = await weaponSkinModel.updateWeaponSkinStock(testId, newStock);
console.log('修改结果:', result);
} catch (error) {
console.log('修改失败!原因:', error.message);
}
console.log('===== 测试结束:修改库存 =====\n');
}

// 👉 执行当前测试
testUpdateWeaponSkinStock();

相关文章
DQL-查找数据-分组查询
分组查询通过GROUP BY对数据按字段分类,配合聚合函数实现统计。COUNT、MAX、MIN、AVG、SUM分别用于计数、求最大值、最小值、平均值和求和。WHERE在分组前过滤数据,不可用聚合函数;HAVING在分组后过滤,可结合聚合函数使用,二者作用时机与条件判断方式不同。
|
4月前
|
SQL
DQL-查找数据-条件查询
SQL条件查询通过WHERE子句筛选数据,支持比较运算符(如&gt;、&lt;、=、&lt;&gt;)、BETWEEN、IN、LIKE模糊匹配及IS NULL判断,并可使用AND、OR、NOT逻辑运算符组合多个条件,实现精准数据检索。
盒子模型
`&lt;div&gt;`标签独占一行,宽度默认为父元素宽度,高度由内容决定,可设置宽高;`&lt;span&gt;`标签为行内元素,一行可显示多个,宽高由内容撑开,不可直接设置宽高。
新闻-正文-段落
通过段落标签(p)可定义文本段落,支持加粗、下划线、倾斜、删除线等文本样式。结合img标签插入图片,丰富页面内容。持续添加多段p与img标签,完善网页结构与视觉呈现。
新闻-页脚-超链接
通过a标签实现页面跳转:href指定目标地址,target控制打开方式——self在当前页跳转,blank在新窗口打开。简单高效,适用于各类链接场景。
|
4月前
|
Serverless
掌握代码拆分复用
在复杂工作场景中,为避免重复代码,需实现代码复用。通过封装常用功能(如日期格式化、数学计算)为独立模块,实现高内聚、低耦合。例如,将求和函数封装至util.js,供多文件调用,提升维护性与开发效率。
|
4月前
|
前端开发 数据可视化 数据挖掘
前端引入图片
三张图片展示了数据可视化图表,包括柱状图、折线图与饼图,直观呈现不同数据维度的对比与趋势,适用于数据分析、报告展示等场景,助力快速洞察信息。
|
4月前
|
前端开发 数据可视化 数据挖掘
前端创建
三张图片展示了数据可视化图表,包括柱状图、折线图与饼图,用于直观呈现数据分析结果,适用于报告、仪表盘等场景,助力信息清晰传达。
排序查询案例
查询类别为“武器皮肤”且品质为“闪耀”的商品,仅显示名称、型号、价格和库存,按价格降序排列,价格相同时按库存升序排列。
完成新浪新闻-标题-样式
四张图片展示了网页标题样式的修订。