Node-MySQL 中的多语句查询
在 Node-mysql 中,可以通过连接多个 SQL 语句在单个查询中执行分号 (;)。但是,出于安全原因,默认情况下禁用此功能。要启用它,请在连接选项中设置 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 Server 版本太旧或数据库驱动程序配置不正确,则会出现错误。在这种情况下,建议单独执行语句。
以上是如何使用 Node-MySQL 在单个查询中执行多个 SQL 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!