我试图在节点中的现有连接中更改数据库。连接可能在createConnection调用中有数据库名,也可能没有。下面是代码:
var mysql = require('mysql');
connection = mysql.createConnection( {
host : 'localhost',
user : 'me',
password : 'secret',
port : 3306,
/* database : 'test' // optional */
});我使用的是节点-mysql库。目前我正在关闭连接并重新连接。
有什么更好的方法吗?类似于php中的mysql_select_db?
发布于 2018-01-31 16:17:32
您可以使用changeUser方法更改某些连接参数*:
connection.changeUser({database : 'my_database'}, function(err) {
if (err) throw err;
});*这些参数的清单:
user:新用户的名称(默认为上一个用户)。password:新用户的密码(默认为上一个用户)。charset:新字符集(默认为上一字符集)。database:新数据库(默认为前一个数据库)。发布于 2017-09-22 18:36:43
我发现的唯一方法是使用“use”命令
在您的示例中,它将如下所示
let database = 'my_database';
connection.query(`USE ${database}`, (error, results, fields) => {
...
});之后,使用此连接的所有查询都将发送到新数据库。
发布于 2021-05-12 23:47:24
或者只是在查询中使用数据库名。
conn.query('SELECT H FROM other.GeoDB WHERE H = \'r1r0f\' LIMIT 1 ', function (err, res, f)
conn.query('SELECT * FROM data.users WHERE U = \'123\' LIMIT 1 ', function (err, res, f)https://stackoverflow.com/questions/29529947
复制相似问题