問題タブ [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.
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 からも入手できます。
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 経由でサーバーにアップロードした後)、なぜですか?
java - mysql での (ER_QUERY_INTERRUPTED) の処理戦略
私は、mysql サーバー用のインフラストラクチャ ライブラリを作成しています。私が対処しなければならないシナリオの 1 つは、mysql サーバーからの一時的な切断です。
テスト シナリオは、DB への約 100000 の挿入を開始し、データベースを停止して元に戻すことです。
このシナリオでは、停止中に実行されているクエリで明らかに ER_QUERY_INTERRUPTED エラーが発生します。質問は:
データベースの状態(クエリが開始されていないなど)について何かを想定するか、これを未定義の動作と見なして、この問題をチェーンに落としてユーザーに伝えることはできますか?
javascript - ノード MySQL エスケープ LIKE ステートメント
node-mysql で MySQL LIKE ステートメントをエスケープするにはどうすればよいですか?
の線に沿った何か
結果は
これは構文エラーです。の代替構文を使用する場合
同様の構文エラーが発生します。私も試してみました
「%」記号をエスケープするだけです。
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 )。どちらも同じ目的を果たしているようですが、たまたま両方の経験をお持ちですか? どちらを選んだのですか? またその理由は何ですか?
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 戻り値に結合しても問題は解決しませんが、ご覧のとおり、そのスレッドの提案に従おうとしました。
mysql - node-mysql 接続プール内で接続の永続的なものを適切に処理する方法
node-mysql の接続プール機能を使用すると、アプリケーションで問題が発生しませんconnection.end()
か? 私が懸念している理由は次のとおりです。SQL で変数を定義するか、トランザクションを開始すると、変数またはトランザクションは、接続が閉じられるまで持続します。接続が実際に閉じられることはなく、代わりに再利用されるため、変数とトランザクションは、変数やトランザクションの存在を予期しない別のルーチンに浸透する可能性があります。新しい接続が必要です。
変数は大きな問題を引き起こす可能性があります。ルーチンは、変数が未定義であると安全に想定することはできません。
1 つのルーチンが を呼び出す前にトランザクションのロールバックまたはコミットに失敗した場合、トランザクションはさらに大きな問題を引き起こす可能性がありend()
ます。この接続を使用する次のルーチンがトランザクションを処理しない場合、すべてのクエリがトランザクションに追加されて停止され、実行されることはありません。アプリを作成するときに、そのようなエラーが発生しないように注意することはできますが、間違いは発生します。エラーが発生した場合は、デバッグが非常に困難になります (どのルーチンが接続を誤って処理しているのかわかりません。悪い悪い)。
これらは、プーリングの使用を検討する際の私の懸念事項の一部です。確かに、これらの問題について考えたのは私だけではありません。よろしければ、プールされた接続を適切に処理する方法を教えてください。:)
どうもありがとうございました。