0

innoDB でシーケンス置換を作成しようとしています (auto_increment の動作が myisam とは異なるため)。だから私はseqという名前のストアド関数を作成しました。次のように使用できます。

INSERT INTO a_table(id) VALUES(seq('seq_a_table'));

私の mysqli ベースのデータベース ライブラリは自動的にプリペアド ステートメントを使用するため、次のエラーが発生します。

This command is not supported in the prepared statement protocol yet 

MySQL バージョン: 5.1.48 (OSX Snow Leopard)。

アップデート

うわー、私はばかげているように感じます...私はエラーに非常に混乱していたので、問題のステートメントによってスローされなかったという単純な事実を見逃しました。私はトランザクションを使用していましたが、クエリ関数が「START TRANSACTION」を含むすべてをステートメントとして自動的にコンパイルすることを忘れていました。したがって、将来の深夜のコーダーのために-ステートメントでトランザクションを開始しようとしないでください:)

4

1 に答える 1