首页 > 数据库技术 > 详细

Node.js调用mysql存储过程返回值

时间:2020-03-11 17:16:39      阅读:201      评论:0      收藏:0      [点我收藏+]

直接调用SQL语句和调用存储过程返回数据格式不一样。
直接调用语句返回值是这样的:
select语句:
[ RowDataPacket { fields: 116 } ]

update语句:
OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 34,
  warningCount: 0,
  message: ‘(Rows matched: 1  Changed: 1  Warnings: 0‘,
  protocol41: true,
  changedRows: 1 }

insret语句:
OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: ‘‘,
  protocol41: true,
  changedRows: 0 }

存储过程返回是这样的:
[ [ RowDataPacket { st: 1 } ],    //存储过程里面最后一条select语句取回的值
  OkPacket {
    fieldCount: 0,
    affectedRows: 0,
    insertId: 0,
    serverStatus: 34,
    warningCount: 0,
    message: ‘‘,
    protocol41: true,
    changedRows: 0 } ]


从上面的结果可以看出,取用SQL语句和存储过程的返回值写法也不可能一样。
取SQL返回值:
 let ret = rows[0].field;
取存储过程返回值
 let ret = rows[0][0].field;

Node.js调用mysql存储过程返回值

原文:https://www.cnblogs.com/sundp/p/12463027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!