Sails.js版本 0.12.13。
User.query(`CALL someProc()`, function(err, data){
console.log(data);
}
响应:
data: OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 32,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
什么意思是"服务器状态:32"?"服务器状态:34"是什么意思?
Sails 中.query
调用的响应直接来自驱动程序,在本例中为 mysql。 serverStatus
是一个位域。 您可以在 MySQL 源代码文档中获取常量列表 - 列表中的第一个表示值 1
,下一个2
,然后是 4
等。
所以serverStatus: 32
意味着只设置了第六位,对应于SERVER_STATUS_CURSOR_EXISTS
:
服务器能够满足客户端请求,并为查询打开了只读不可滚动游标。
此标志用于响应COM_STMT_EXECUTE和COM_STMT_FETCH命令。由二进制协议结果集用于指示必须使用COM_STMT_FETCH来获取行数据。
如果您看到 serverStatus: 34
,则表示上述和第二位 SERVER_STATUS_AUTOCOMMIT
都已设置:
服务器处于auto_commit模式。