Node.js mysql INSERT-запрос вставляет несколько значений в таблицу - PullRequest
0 голосов
/ 23 января 2019

node.js Пакет MySQL вставляет несколько значений в таблицу, когда нужно вставить только одно.

Я использую пакет MySQL для node.js для вставки значений с помощью JavaScript.Каждый раз, когда я запускаю запрос, в таблицу вставляются несколько значений, как если бы запрос выполнялся несколько раз.Я считаю, что, возможно, это связано с асинхронной природой JavaScript и обещаниями.

export function getData() {
    return new Promise(function (resolve, reject) {
    var mysql = require('mysql');
    var connection = mysql.createConnection({
        host: 'ec2-xxxxxxxxe-1.amazonaws.com',
        user: 'xxxxx',
        password: 'xxxxx',
        database: 'xxxxoli_webform'
    });

    connection.connect(function (err) {

        var sql = "INSERT INTO webform (Name) VALUES ('test1')";
        connection.query(sql, function (err, result1) {
        if (result1 === undefined) {
                reject(new Error("Error result is undefined"));
            } else {
                resolve(result1)
            }
        });

        connection.end();
    });
});

}

Я ожидаю, что test1 будет введен в таблицу только один раз, однако он был вставлен 4 раза?

...