当前位置: 首页 > wzjs >正文

好用的外贸网站百度电商推广

好用的外贸网站,百度电商推广,咖啡商城网页设计代码模板,网站开发综合课程设计SELECT 返回结构 const [rows, fields] await db.query(SELECT * FROM folders);返回: rows: 是一个数组,包含所有查到的记录。fields: 是字段的结构定义(列信息),一般不用。 rows 是一个数组,包含所有…

SELECT 返回结构

const [rows, fields] = await db.query('SELECT * FROM folders');

返回:

  • rows: 是一个数组,包含所有查到的记录。
  • fields: 是字段的结构定义(列信息),一般不用。

rows 是一个数组,包含所有查到的记录:

[{ id: 1, name: '一级选项1', parent_id: null },{ id: 2, name: '子目录1', parent_id: 1 }
]

INSERT 返回结构

const [result] = await db.query('INSERT INTO folders (name, parent_id) VALUES (?, ?)', ['test', 1]);

result 是一个包含插入信息的对象:

{fieldCount: 0,      // 字段数(一般是 0,插入不返回字段)affectedRows: 1,    // 受影响的行数insertId: 17,       // 新插入的主键 IDserverStatus: 2,    // MySQL 服务器状态码warningCount: 0,    // 警告数量,0 表示无警告message: '',        // 服务器返回的信息,一般为空或插入成功消息protocol41: true,   // 与协议有关,true 表示使用 4.1 协议changedRows: 0      // 插入时恒为 0,仅在 UPDATE 时有意义
}

所以判断成功的办法是通过 affectedRows

if (result.affectedRows === 1) {return res.status(200).json({message: '目录添加成功',folderId: result.insertId});
} else {return res.status(500).json({ error: '添加目录失败' });
}

UPDATE 返回结构:

const [result] = await db.query('UPDATE folders SET name = ? WHERE id = ?', ['newName', 17]);

result 内容:

{fieldCount: 0,affectedRows: 1,   // 匹配并执行更新的行数(包括实际没变内容的)insertId: 0,        // 无插入则为 0serverStatus: 2,warningCount: 0,message: '(Rows matched: 1 Changed: 1 Warnings: 0)',protocol41: true,changedRows: 1     // 实际内容发生变化的行数
}

DELETE 返回结构:

const [result] = await db.query('DELETE FROM folders WHERE id = ?', [17]);

result 内容:

{fieldCount: 0,affectedRows: 1,   // 删除成功的行数insertId: 0,serverStatus: 2,warningCount: 0,message: '',       // 有时会包含删除说明protocol41: true,changedRows: 0     // 始终为 0,DELETE 不用这个字段
}

不能随便“模拟”结构解构,必须清楚它的真实结构是数组 [rows, fields],否则会出错。

❌ 错误示例:

const { affectedRows } = await db.query(...); // ❌ 报错,因为它不是对象,是数组

✅ 正确示例:

const [result] = await db.query(...); // result 是对象
console.log(result.affectedRows);     // 访问插入/更新结果

总结

场景返回值结构解构方式
SELECT[rows, fields][rows][rows, fields]
INSERT/UPDATE/DELETE[result, undefined][result]

由于

  • 新增 result.affectedRows === 1
  • 编辑 result.affectedRows > 0 更新语句执行了,result.changedRows > 0 内容确实有变更;
  • 删除 result.affectedRows > 0

新增

const [result] = await db.query('INSERT INTO folders (name) VALUES (?)', ['Test']);if (result.affectedRows === 1) {console.log('插入成功,ID:', result.insertId);
} else {console.log('插入失败');
}

编辑

const [result] = await db.query('UPDATE folders SET name = ? WHERE id = ?', ['NewName', 5]);if (result.affectedRows > 0) {console.log('更新语句执行了');if (result.changedRows > 0) {console.log('内容确实有变更');} else {console.log('字段值没变(例如改成原来的值)');}
} else {console.log('没有任何记录被更新');
}

删除

const [result] = await db.query('DELETE FROM folders WHERE id = ?', [999]);if (result.affectedRows > 0) {console.log('删除成功');
} else {console.log('未删除任何记录(可能 id 不存在)');
}

最实用的判断逻辑:

try {const [result] = await db.query(sql, values);if (result.affectedRows > 0) {// ✅ SQL 生效} else {// ⚠️ SQL 没生效(可能条件不匹配)}
} catch (err) {// ❌ SQL 执行失败(语法、连接、权限等错误)
}
http://www.dtcms.com/wzjs/219539.html

相关文章:

  • 网站定制公司地址关键词优化的最佳方法
  • 网站建设与网页设计 视频舆情监测软件免费版
  • 西宁建设网站百度产品有哪些
  • 做彩票网站需要学习什么大搜推广
  • 与企业网站做接口一站式营销推广
  • 推动品牌建设的网站ip软件点击百度竞价推广
  • 蛋糕店微网站引擎优化是什么工作
  • 高明网站建设公司关键词歌词任然
  • 网站会员管理便民信息微信平台推广
  • 公司的网站续费网络推广网站有哪些
  • 做网站的女生多么百度应用app下载
  • 手机qq邮箱发布了wordpress重庆seo的薪酬水平
  • 做网站什么语言合肥做网站哪家好
  • 幕墙配件在那个网站做推广好软文广告300字范文
  • 怎样用wordpress搭建网站国内打开google网页的方法
  • 堵博网站建设腾讯第三季度营收448亿元
  • 石家庄网站建设seo青岛seo代理计费
  • 西安景点网页设计湖南seo推广
  • 黑龙江省网站建设百度推广哪家做的最好
  • 网站链接怎么做二维码网络营销产品推广方案
  • 万网一台虚拟主机做多个网站百度搜索广告投放
  • 科普类网站怎么做搜索引擎优化的方法与技巧
  • wordpress付费访问页面肇庆seo优化
  • 作文网站哪个平台好线上营销模式
  • 软件开发是什么工作seo快速排名多少钱
  • 没有公司自己做网站网络推广公司深圳
  • 青岛网站制作服务商上海网站快速排名优化
  • 免费的网站软件正能量推荐最好的bt种子搜索引擎
  • 深圳互助资金盘网站开发汕头网站建设方案优化
  • 上海将打造五大未来产业集群seo短视频网页入口引流下载