cursor.callproc()を使用してMySQLストアドプロシージャを呼び出そうとしたときに、いくつかの問題が発生しました。複数の入力および出力パラメータがあった場合には、そこには問題はなかったし、すべてが次のように正常に動作します: 私は5入力/出力パラメータを使用して、次のようにMySQLので手順を作成しました:Pythonでcursor.callproc()を使用してMySQLストアドプロシージャを呼び出す
create procedure enrollclass(in yeartime int, in quartertime char(20), in stid char(20), in course_no char(20), out result int)
とのようなものを使用してPythonでプロシージャを呼び出しますこれは:
arg2 = ('2016', 'Q2', info[0][0], course_no, 0)
ac = cursor.callproc('enrollclass',arg2)
これはうまくいきました。しかし、私はこのような(無出力パラメータ付き)のみの1つの入力パラメータを持つ別のプロシージャを呼び出した場合:
arg3 = ('INFO1101')
cursor.callproc('prerequisite', arg3)
その後、
システムは私にエラーを与え続け:この行を使用して
create procedure prerequisite(in course_no char(20))
やプロシージャを呼び出しメッセージ 'argsはシーケンスでなければなりません'。私はシーケンスを形成する他の引数がないので、それを修正する方法はわかりません。誰かがここで何が起こっているか教えてもらえますか?ありがとう!
[]、代わりに丸括弧の()ユーザー角括弧を引数を作成し、それが動作するはずのように、コンマを追加する必要がタプル単一要素を作成します。 – PerunSS