llamadas directas a las sentencias SQL y procedimientos almacenados llamada de retorno formato de datos no es lo mismo.
valor de retorno instrucción de llamada directa es tal que:
SELECT declaración:
[RowDataPacket {campos: 1 16}]
Actualización de declaración:
OkPacket {
FieldCount: 0,
los AffectedRows :. 1,
insertId: 0,
el serverStatus: 34 es,
WARNINGCOUNT: 0,
Mensaje: '(las filas emparejado :. 1 los Cambiado :. 1 Advertencias: 0 '
protocol41: true,
changedRows :. 1}
insret declaración:
OkPacket {
FieldCount: 0,
los AffectedRows :. 1,
insertId: 0,
el serverStatus: 2,
WARNINGCOUNT: 0,
Mensaje:'',
protocol41 : true,
changedRows: 0}
almacenado retorno procedimiento es tal que:
[[RowDataPacket {st: 1} ], // procedimiento almacenado dentro de una instrucción de selección para recuperar el último valor
OkPacket {
FieldCount: 0,
los AffectedRows: 0,
insertId: 0,
el serverStatus: 34 es,
WARNINGCOUNT: 0,
Mensaje: '',
protocol41: a verdaderos,
changedRows: 0}]
como se ve por los resultados anteriores, el acceso al valor de retorno de sentencias SQL y la escritura no se puede almacenar en el mismo procedimiento.
Valor de retorno toma SQL:
las filas vamos a RET = [0] .field;
valor de retorno del procedimiento almacenado tomada :
las filas vamos a RET = [0] [0] .field;
Node.js llamada mysql valor de retorno del procedimiento almacenado
Supongo que te gusta
Origin www.cnblogs.com/sundp/p/12463027.html
Recomendado
Clasificación