問題タブ [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 に答える
1942 参照

node.js - node-mysql と mysql-queue を使用して複数のクエリ結果を res.render() に送信する

[node.js初心者でプログラミング全般] には 2 つのmysqlクエリ結果 (メンバー情報とメンバーが参加できるワークショップのリスト) があり、それらをテンプレート (メンバー編集ページ)res.render()で提示するために送信する必要があります。.jade

これを行うには、モジュールを使用node-mysqlしてmysql-queueいます。問題は、コールバック関数を渡して終了前に応答をレンダリングする方法がわからないことです。そのqueue.execute()ため、回避策を講じ、最初の 2 つのクエリをキューに入れ (mysql-queue 機能)、キューを実行し、その後 3 番目の「ダミー クエリ」を追加しました。テンプレートをレンダリングするコールバック関数があります。

私の質問は、この回避策を使用できますか?このモジュールを使用する適切な方法は何ですか?

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

node.js - nodejs と node-mysql で行を返す

Nodejs と node-mysql モジュールを発見しています。小さな問題があります。私が見つけたすべてのチュートリアルは、データベースで選択を行う方法を説明していますが、行を返すことはなく、常にログに記録するため、私の場合はまったく役に立ちません。

私は app.js ファイルを持っています:

そして mysql.js ファイル:

関数が行を返して app.js ファイルで使用するようにするにはどうすればよいですか? app.js ファイルで接続を作成したくありません。DAO レイヤーを分離したいのです。何か考えはありますか?

また、ORM (sequelize、persistence.js...) の代わりに node-mysql を使用することの長所/短所について誰かが考えている場合

ありがとう

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

node.js - node.js で EPIPE エラーを回避するためのクエリの最大長

node.jsから MySQL データベースとやり取りするために、felixge/node-mysqlモジュールを使用しています。INSERT1 回のリクエストで大量のデータをデータベースに挿入するときに問題が発生しました。

ここでは、大規模な INSERT クエリを使用して 500,000 レコードをデータベースに追加する方法について説明していますが、私のスクリプトは次のエラーで失敗し、さらに少量のデータが含まれています。

このバグは、mysql-node の github Load data infile fails with EPIPE for large filesの問題#359と何らかの形で関連していると思います。

では、配信されることが保証されているクエリの実際のサイズはどれくらいでしょうか?

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

sql - 等しい場合でも、IN ステートメントのすべてのキーに対して行を選択します

私の質問の例は次のとおりです:
I've got an array of id's

そして、そのようなdatabase.tableへのSELECTクエリをセットアップしたい:

ご覧のとおり、同じ 2 つの ID があるため、そのクエリの結果として 10 行しか取得できません。
しかし、配列内のすべての ID に対して 1 つの行を取得したいと考えています。私が推測しているように、「IN()」ステートメントでは不可能です。
この問題を解決する方法についての仮定を得ることができますか?
注意:配列のすべての要素に対して異なるクエリを実行することはできません。

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

mysql - アプリケーションが MySQL プールで終了しない

nodejs アプリケーションを作成していて、接続プールを使用したいと考えています。

ただし、次のアプリケーションは終了しません。connection.end()

プールの代わりに 1 つの接続を使用すると、アプリケーションは問題なく動作します。何らかの方法でプールを終了する必要がありますか?

使用ライブラリhttps ://github.com/felixge/node-mysql
node.js バージョン:Ubuntu 0.10.4

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

mysql - UPDATE クエリで SQL 構文を削除できません

このクエリを実行すると、エラーが発生してテーブルが更新されます。

エラーがどこにあるのかわかりません

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

node.js - Sequelize の使用時に node-mysql を使用できますか

Sequelize はバックグラウンドで node-mysql を利用していると思いますか? これについてはわかりません。もしそうなら、それを使用する方法があるかどうか疑問に思っています。複雑な複数テーブルのクエリを実行したい場合、Sequelize は機能しなくなります。しかし、パラメーター化されたクエリを使用したり、入力をエスケープしたりして、手作業で作成された SQL クエリを実行する方法はありません。Node-Mysql はそれをすべて行います。したがって、新しい接続をセットアップする必要なく、意味がある場合は Sequelize を使用でき、意味がある場合は node-mysql を使用できると便利です。

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

node.js - node.js : 行ごとに非同期で更新しますか?

データベースから行をクエリし、行ごとにいくつかの情報を処理してから、各行を結果で更新する必要があります。

これは、各行をループしてラベルを更新することを目的としたコード例です。

これの出力は次のとおりです。

ご覧のとおり、4 行を 1 回ずつではなく、4 行を 4 回更新しました。新しいクエリはノンブロッキングですが、クエリごとに値が変わると思いました。

使用するコードを変更して、rows.forEach(function(){...})各 UPDATE を次々に実行できることはわかっています。それで問題ありません。しかし、私の理解を助けるために、非同期で更新を正しく実行する方法を知りたいです。