0
私はMySQLでストアドルーチンを実行しようとしていますが、HeidiSQLでそれを実行すると正常に動作してメッセージが返されますが、NodeJSを使用して実行すると戻りメッセージは常に空です。OUTはコマンドラインでは常に空ですが、SQLクライアントにはありませんか?
var mysql = require('mysql');
var con = mysql.createConnection({
host: '',
user: '',
password: '',
database: '',
multipleStatements: true
});
con.connect(function(err) {
if(err) throw err;
console.log("Connection Established!");
});
var AddPointsDiscord =
"CALL AddPointsDiscord(?,?,@RETURN_MESSAGE);"+
"SELECT @RETURN_MESSAGE;";
var user = '';
var ScoreAdded = 1;
var ReturnMessage = '';
con.query(AddPointsDiscord, [user, ScoreAdded, ReturnMessage], function(err, result) {
if(err) throw err;
console.log(ReturnMessage);
});
パラメータは以下のとおりです。
- USER - ユーザー(IN)に追加する新しいスコア
- RETURN_MESSAGE - - varchar型の確執ID(IN)
- ADD_SCOREのために返されるメッセージ(OUT)
どこが間違っていましたか?
は、機能をcallback' 'ですか?それはnodejsによって知られていません。 – OmniOwl
いいえ、あなたはそれを実装する必要があります:https://stackoverflow.com/questions/24232350/node-mysql-async-multiple-queriesは深いものです。それがうまくいけば、あなたの投稿にできるだけ重複して表示し、この回答を削除します。 –
私はこの例に従おうとしましたが、それでも動作しません:/。これは私が持っているものです。var callback = function(obj、msg){ if(obj!== null){ throw obj; } else { console.log(msg); (エラー、null) } };これは私のクエリにしたものです: 'con.query ; else コールバック(null、ReturnMessage); }); ' – OmniOwl