プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベースはMySQLです。ループ挿入のパフォーマンスが悪すぎるため、バッチ挿入を使用してデータ挿入のパフォーマンスを向上させるようなものです。 バッチ挿入用のデータベースのテーブル構造は次のとおりです。 1. データベース接続 var mysql = require('mysql'); // データベース情報 var connection = mysql.createConnection({ ホスト: 'localhost', ユーザー: 'データベースユーザー名', パスワード: 'データベースログインパスワード', データベース: '操作データベース名' }); 挿入されたデータをネストされた配列に変換する たとえば、挿入する 2 つのデータ: 記録1: 出典:"インデックス" 「www.alibaba.com」へ ステータス:1 新着:0 記録2: 出典:"index1" 宛先:"www.google.com" ステータス:1 新着:0 次の形式に変換します。 var値 = [ ["インデックス","www.alibaba.com",1,0], ["インデックス1","www.google.com",1,0] ]; 挿入文を書く var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?"; クエリ関数を呼び出してデータの挿入を完了します connection.query(sql, [値], 関数 (err, 行, フィールド) { もしエラーが起きたら console.log('挿入エラー - ', err.message); 戻る; } console.log("挿入成功"); }); 完全なコード: var mysql = require('mysql'); // データベース情報 var connection = mysql.createConnection({ ホスト: 'localhost', ユーザー: 'データベースユーザー名', パスワード: 'データベースログインパスワード', データベース: '操作データベース名' }); var値 = [ ["インデックス","www.alibaba.com",1,0], ["インデックス1","www.google.com",1,0] ]; var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?"; connection.query(sql, [値], 関数 (err, 行, フィールド) { もしエラーが起きたら console.log('挿入エラー - ', err.message); 戻る; } console.log("挿入成功"); }); 同時に、トランザクションベースの操作をここに記録します(まだ実践していないため、具体的な効果は不明です) トランザクションループを使用して挿入し、挿入が失敗した場合はロールバックします。 mysqlモジュール、connection.beginTransactionはトランザクションを実行するためのものです 次に、渡された配列に対してループ挿入や更新などの操作を実行する関数をここでカプセル化します。 1 つでも失敗した場合はロールバックし、すべてが正しければコミットします。 要約する 上記は、Node.js で MySQL データベースにバッチデータを挿入する方法について紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: ウェブサイトのコンテンツが検索エンジンに含まれないようにする方法
概要async/await と Promise の基本的な違いは、await fn() は現在の関数...
目次前面に書かれた複数のストレージマウント方法1.バインドマウント2. 巻数3.tmpfsマウントス...
目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...
Navicatをインストールした後次のエラーが発生する場合があります: Client does no...
この記事では、参考までに、シンプルなナビゲーションバーを実装するためのJavascriptの具体的な...
目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...
目次ネイティブJavaScriptとはA. 新しいブラウザでnullオブジェクトをチェックするコンス...
時間に余裕を持って、過去を忘れましょう。前のセクションでは、[検索] フォームとクエリおよびリセット...
HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...
接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...
1. MySQLをシャットダウンする [root@localhost /]# サービスmysqldを...
前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...
目次新しい HTML ファイルを作成します。初期テンプレートを作成するHTML の追加CSS パディ...
この質問に関連するニーズはまだないかもしれませんし、面接でこの質問をされたことがないかもしれませんが...
ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...