@vndes43ta said in nodejs + mysql несколько запросов:
Всем привет, использую npm модуль MySql2 для nodejs
1 запрос к бд делаю из примера по видео nodejs, все работает.
await(new Promise((resolve, reject) => {
connection.query('SELECT token FROM tokens LIMIT 1', function (err, results) {
if(err)
{
reject(err)
return
}
console.log(results);
resolve()
});
}));
Но нужно сделать 4 таких запроса:
LOCK TABLES tokens WRITE;
SELECT token FROM tokens LIMIT 1;
DELETE FROM tokens LIMIT 1;
UNLOCK TABLES;
Как это правильно сделать?
смотрел примеры в интернете но так и не смог разобраться
А в чём проблема то? У вас ведь правильный код для отправки запроса. Если нужно отправить 4 запроса, отправляйте их скопировав код:
const mysql = require('mysql2');
var connectionBD = mysql.createPool({
connectionLimit : 30,
host: [[BASE_HOST]],
port: [[BASE_PORT]],
user: [[BASE_LOGIN]],
database: [[BASE_NAME]],
password: [[BASE_PASSWORD]]
});
const connection = connectionBD
await(new Promise((resolve, reject) => {
connection.query(
'LOCK TABLES tokens WRITE',
function (err, results, fields) {
if(err){
reject('Ошибка подключения к базе ' + err)
return
}
resolve()
}
);
}));
await(new Promise((resolve, reject) => {
connection.query(
'SELECT token FROM tokens LIMIT 1',
function (err, results, fields) {
if(err){
reject('Ошибка подключения к базе ' + err)
return
}
console.log(results);
resolve()
}
);
}));
await(new Promise((resolve, reject) => {
connection.query(
'DELETE FROM tokens LIMIT 1',
function (err, results, fields) {
if(err){
reject('Ошибка подключения к базе ' + err)
return
}
resolve()
}
);
}));
await(new Promise((resolve, reject) => {
connection.query(
'UNLOCK TABLES',
function (err, results, fields) {
if(err){
reject('Ошибка подключения к базе ' + err)
return
}
resolve()
}
);
}));
connectionBD.end()