测试数据库修改

简介: 新增按ID修改武器皮肤价格功能,支持参数校验与数据库更新,结合测试代码验证逻辑正确,确保数据一致性和操作可靠性。

新增修改功能代码
// model/weaponSkinModel.js(新增)
// 👉 第4个功能:按 ID 修改价格
async function updateWeaponSkinPrice(id, newPrice) {
if (!id) throw new Error('ID 不能为空');
if (typeof newPrice !== 'number' || newPrice < 0) {
throw new Error('价格必须为非负数值');
}

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

// 更新暴露
module.exports = {
getAllWeaponSkins,
addWeaponSkin,
deleteWeaponSkin,
updateWeaponSkinPrice // 新增
};

在index.js中增加测试代码
// 👉 测试 4:修改价格(对应 updateWeaponSkinPrice 功能)
async function testUpdateWeaponSkinPrice() {
console.log('===== 开始测试:修改价格 =====');
const testId = 3; // 实际存在的 ID
const newPrice = 1799.99;
try {
await testPoolConnection();
const result = await weaponSkinModel.updateWeaponSkinPrice(testId, newPrice);
console.log('修改结果:', result);
} catch (error) {
console.log('修改失败!原因:', error.message);
}
console.log('===== 测试结束:修改价格 =====\n');
}

// 👉 执行当前测试(只运行这一个)
// testGetAllWeaponSkins();
// testAddWeaponSkin();
// testDeleteWeaponSkin(1);
testUpdateWeaponSkinPrice();

控制台和数据库双向验证,发现符合逻辑

相关文章
|
18小时前
|
存储 JavaScript 关系型数据库
nodejs连接mysql
创建config文件夹存放配置,实现解耦。通过.env文件管理数据库连接信息,db.js使用mysql2和dotenv创建连接池并测试连通性,确保应用稳定连接数据库。
|
17小时前
盒子模型
`&lt;div&gt;`标签独占一行,宽度默认为父元素宽度,高度由内容决定,可设置宽高;`&lt;span&gt;`标签为行内元素,一行可显示多个,宽高由内容撑开,不可直接设置宽高。
|
17小时前
新闻-正文-段落
通过段落标签(p)可定义文本段落,支持加粗、下划线、倾斜、删除线等文本样式。结合img标签插入图片,丰富页面内容。持续添加多段p与img标签,完善网页结构与视觉呈现。
|
17小时前
新闻-页脚-超链接
通过a标签实现页面跳转:href指定目标地址,target控制打开方式——self在当前页跳转,blank在新窗口打开。简单高效,适用于各类链接场景。
|
17小时前
完成新浪新闻-标题-样式
四张图片展示了网页标题样式的修订。
|
17小时前
新闻-正文-视频
使用`&lt;video&gt;`标签可嵌入视频,支持在线资源、相对路径和绝对路径三种src方式,推荐使用相对路径。添加controls属性显示播放控件,通过width和height设置尺寸。
|
18小时前
|
Serverless
掌握代码拆分复用
在复杂工作场景中,为避免重复代码,需实现代码复用。通过封装常用功能(如日期格式化、数学计算)为独立模块,实现高内聚、低耦合。例如,将求和函数封装至util.js,供多文件调用,提升维护性与开发效率。
|
18小时前
|
数据可视化 数据挖掘
新闻-标题-优化
三张图片展示了数据可视化图表,包括柱状图、折线图与饼图,直观呈现各类数据分布与趋势,助力快速洞察信息,适用于数据分析、报告展示等场景。
|
18小时前
DQL-查找数据-排序查询
排序查询用于对查询结果按指定字段进行升序(asc)或降序(desc)排列,默认为升序。可指定多个排序字段,当第一个字段值相同时,按第二个字段排序,以此类推。语法为:SELECT 字段列表 FROM 表名 [WHERE 条件] ORDER BY 字段 排序方式。
|
18小时前
|
前端开发 数据可视化 数据挖掘
前端引入图片
三张图片展示了数据可视化图表,包括柱状图、折线图与饼图,直观呈现不同数据维度的对比与趋势,适用于数据分析、报告展示等场景,助力快速洞察信息。