0

1 行に影響する update ステートメントを実行します。それから select row_count() と書くと、結果は常に -1 になります。

mysql でrow_countをチェックアウトしましたが、row_count() をオンにするために mysql で何を設定する必要があるかわかりません。

誰でも私を助けることができますか?

このようにインサートを使用する場合も同じです。

INSERT INTO tb_fr_itemsderendicionfondorotatorio (VERSION,estado,ejercicio,importe,tema,oidObjeto,tipoObjeto,codigoObjeto,oid_Ren‌ dicionFondoRotatorio,oid_AnulacionRendicionFondoRotatorio,fecha) VALUES (0,1,0,3000,'mt',186'0'03'0'03'03'05Anticion79, ',4979,NULL,'2013-05-25');

SELECT ROW_COUNT();

私は SQLYog インターフェイスからテストを作成していますが、常に -1 を返します。サーバーでは、Javaで休止状態を使用しています。

4

1 に答える 1

1

最も合理的な説明は、同じデータベース接続で、またはステートメントが " SELECT ROW_COUNT()" クエリの直前にないことです。INSERTUPDATEDELETE

この関数は、同じデータベース セッション内でのみ意味を持ちます。クエリが別の接続から実行されている場合は、-1 が返されると予想されます。実行中の他のステートメント (たとえば、COMMIT ステートメント) がある場合は、-1 が返されると予想されます。

これをmysqlコマンドラインから実行していますか? それとも他のインターフェースですか?(別のインターフェイスの場合は、COMMIT を実行しているか、接続を乱していると思われます。)


ファローアップ:

これと同じテスト ケースを mysql コマンド ライン クライアントを使用して試し、どのような結果が得られるかを確認することをお勧めします。また、Java アプリケーションから同じことを実行して、結果を確認することもできます。

これは、MySQL 自体の問題ではなく、SQLyog 固有の問題であると思われます。しかし、別のクライアントからのいくつかのテスト ケースは、それを確認するのに役立ちます。

SQLYog GUI v10.2 と MySQL バージョン '5.1.46-community' を使用してテストを実行しましたが、ROW_COUNT() は期待値を返しています。

于 2013-07-12T22:38:25.853 に答える