ホームページ >データベース >mysql チュートリアル >Node-MySQL を使用して単一のクエリで複数の SQL ステートメントを実行する方法
Node-MySQL での複数のステートメント クエリ
node-mysql では、複数の SQL ステートメントを次のように接続することで 1 つのクエリで実行できます。セミコロン (;)。ただし、この機能はセキュリティ上の理由からデフォルトでは無効になっています。これを有効にするには、接続オプションで multipleStatements: true を設定します。
複数のステートメント クエリを使用するには、ステートメントをセミコロンで区切って SQL 文字列を構築します。例:
var sql_string = "DELETE FROM user_tables WHERE name = 'Testbase';" + "DELETE FROM user_tables_structure WHERE parent_table_name = 'Testbase';" + "DELETE FROM user_tables_rules WHERE parent_table_name = 'Testbase';" + "DELETE FROM user_tables_columns WHERE parent_table_name = 'Testbase';";
次に、connection.query(sql_string, callback) を使用してクエリを実行します。コールバック関数は、エラー オブジェクト (存在する場合) と各ステートメントの結果セットの配列を受け取ります。
例:
var connection = mysql.createConnection({multipleStatements: true}); connection.query(sql_string, function(err, results) { if (err) throw err; // results is an array containing the results of each statement res.send('true'); });
次のような問題が発生する可能性があることに注意してください。 SQL サーバーのバージョンが古すぎるか、データベース ドライバーが正しく構成されていない場合は、エラーが発生します。このような場合は、ステートメントを個別に実行することをお勧めします。
以上がNode-MySQL を使用して単一のクエリで複数の SQL ステートメントを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。