問題タブ [node-mysql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1491 参照

mysql - node-mysql を使用して複数の行をクエリする

この問題は node-mysql に関連しています。

次のコードに問題があるようで、ユーザー定義変数の使用に関連しているようです。レンダリングされたクエリは、任意の mysql IDE 内で正常に実行され、複数のレコードが返されます。ただし、node-mysql で実行すると、単一のレコードのみが返されます。

T3.gender_rank を指定する WHERE 句を削除すると、node-mysql と私の mysql IDE の両方で予測可能な結果が得られることを確認しました。

この問題は以前に提起されたことがありますか、それとも私が間違っているのでしょうか?

SQL データベース ファイルは、https ://snipt.net/download/dde8b4b5ce8cd5fca21ac2334bae634f/-5369.sql からも入手できます。

0 投票する
1 に答える
4260 参照

node.js - Node.js とグローバル MySQL 接続 OBJ

私は Node.js の初心者ですが、MySQL をグローバル変数として使用しても問題ありませんか?

内部にこのコードを含む db_helper.js があります。

私のmain.jsでは、次のことを行います:

次に、他の js ファイルで、UPDATE または SELECT が必要なときはいつでも次のように呼び出します。

このようなコードはまだ見たことがありませんが、期待どおりに動作しますが、ページをリロードするときにランダムにクラッシュすることがあります。

こんな使い方でいいの?クラッシュは、DB への接続方法に関連していますか?

クラッシュが発生したのは、MySQL がデータを返さないためですが、次のように結果を解析するときにクラッシュが発生するため、関連していると思います。

ほとんどの場合、var jは期待どおりの値を持っていますが、ノードがクラッシュすると、以前に (結果の) 一貫性をチェックしていたにもかかわらず、この var は空を返します。次のように言ってノードがクラッシュします。

ありがとう。

編集:クライアントの js ファイルがサーバー上で更新されるたびに、クラッシュが発生します。(.js ファイルをローカルで編集し、FTP 経由でサーバーにアップロードした後)、なぜですか?

0 投票する
1 に答える
399 参照

java - mysql での (ER_QUERY_INTERRUPTED) の処理戦略

私は、mysql サーバー用のインフラストラクチャ ライブラリを作成しています。私が対処しなければならないシナリオの 1 つは、mysql サーバーからの一時的な切断です。

テスト シナリオは、DB への約 100000 の挿入を開始し、データベースを停止して元に戻すことです。

このシナリオでは、停止中に実行されているクエリで明らかに ER_QUERY_INTERRUPTED エラーが発生します。質問は:

データベースの状態(クエリが開始されていないなど)について何かを想定する、これを未定義の動作と見なして、この問題をチェーンに落としてユーザーに伝えることはできますか?

0 投票する
6 に答える
25948 参照

javascript - ノード MySQL エスケープ LIKE ステートメント

node-mysql で MySQL LIKE ステートメントをエスケープするにはどうすればよいですか?

の線に沿った何か

結果は

これは構文エラーです。の代替構文を使用する場合

同様の構文エラーが発生します。私も試してみました

「%」記号をエスケープするだけです。

0 投票する
1 に答える
3748 参照

mysql - Generic-pool と node-mysql のプーリング

node.js + MySQL を使用して小さな Web アプリを作成していますが、接続プールにはどちらが適しているのか疑問に思っています。これまでのところ、node-mysql からの接続プーリング ( https://github.com/felixge/node-mysql#pooling-connections ) と node-mysql+generic-pool ( https://github.com )の 2 つのオプションを発見しました。 /coopernurse/node-pool )。どちらも同じ目的を果たしているようですが、たまたま両方の経験をお持ちですか? どちらを選んだのですか? またその理由は何ですか?

0 投票する
2 に答える
3439 参照

node.js - Express.js で 2 つの node-mysql.js 関数の結果を結合する方法

Express と node-mysql を使用して、mysql db からレガシー データを JSON としてエクスポートしようとしています。以下の SQL は問題なく動作します。getOwnerID の「結果」と、compVouchers で返される各行のデータを結合する簡単な方法に苦労しています。

また、別のスレッドに従って async.js を使用していますが、これが役に立っているのかどうかはわかりません。しかし、これを使用しないで済ますことができれば、そのほうがよいかもしれません。

それで

res.end(JSON.stringify(結果)); // 各バウチャーのみのすべての owner_id を出力します

res.end(JSON.stringify(行)); // 各バウチャーのデータを出力しますが、owner_id は出力しません

node-mysql の結果行を node.js の単一の JSON 戻り値に結合しても問題は解決しませんが、ご覧のとおり、そのスレッドの提案に従おうとしました。

0 投票する
1 に答える
798 参照

mysql - node-mysql 接続プール内で接続の永続的なものを適切に処理する方法

node-mysql の接続プール機能を使用すると、アプリケーションで問題が発生しませんconnection.end()か? 私が懸念している理由は次のとおりです。SQL で変数を定義するか、トランザクションを開始すると、変数またはトランザクションは、接続が閉じられるまで持続します。接続が実際に閉じられることはなく、代わりに再利用されるため、変数とトランザクションは、変数やトランザクションの存在を予期しない別のルーチンに浸透する可能性があります。新しい接続が必要です。

変数は大きな問題を引き起こす可能性があります。ルーチンは、変数が未定義であると安全に想定することはできません。

1 つのルーチンが を呼び出す前にトランザクションのロールバックまたはコミットに失敗した場合、トランザクションはさらに大きな問題を引き起こす可能性がありend()ます。この接続を使用する次のルーチンがトランザクションを処理しない場合、すべてのクエリがトランザクションに追加されて停止され、実行されることはありません。アプリを作成するときに、そのようなエラーが発生しないように注意することはできますが、間違いは発生します。エラーが発生した場合は、デバッグが非常に困難になります (どのルーチンが接続を誤って処理しているのかわかりません。悪い悪い)。

これらは、プーリングの使用を検討する際の私の懸念事項の一部です。確かに、これらの問題について考えたのは私だけではありません。よろしければ、プールされた接続を適切に処理する方法を教えてください。:)

どうもありがとうございました。