【发布时间】:2014-04-12 04:11:39
【问题描述】:
我正在为 nodejs 使用 mysql 插件,到目前为止,它非常适合做我需要的一切。
但是我遇到了一个绊脚石。我创建了一个导出 mysql 池的 MySQL 提供程序:
var mysql = require('mysql');
var mysqlPool = mysql.createPool({
host : '127.0.0.1',
user : 'root',
password : ''
});
mysqlPool.getConnection(function(err, connection) {
connection.query("INSERT INTO ....
我可以选择、创建、插入等一切都很好,但我遇到了一个任务,我想同时运行一个包含大约 10 个不同命令的小 SQL 字符串。我考虑过执行以下操作之一:
- 使用 mysql 对数据库执行 SQL 文件
- 运行
query并启用multipleStatements
我已经编写了一些代码来将mysql 作为子进程执行,但我真的很想避免这样做:
var cp = require("child_process");
var cmdLine = "mysql --user=autobuild --password=something newdb < load.sql";
cp.exec(cmdLine, function(error,stdout,stderr) {
console.log(error,stdout,stderr);
});
选项二的问题是我宁愿不为每个查询启用多个语句,只为这个特定的一个。我曾考虑过创建一个新的连接,但只是在想其他方法可以做到这一点。
TL;DR? 使用 NodeJS 和 MySQL 如何在数据库中执行以下操作:
CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20) );
CREATE TABLE sofa (name VARCHAR(20), owner VARCHAR(20) );
CREATE TABLE table (name VARCHAR(20), owner VARCHAR(20) );
非常感谢任何分享他们想法的人
【问题讨论】: