Mysql
 sql >> Database >  >> RDS >> Mysql

Query di inserimento nodo-mysql con due valori?

Quello che stai sbagliando è che stai cercando di concatenare i tuoi due valori in un'unica stringa e sostituire quella stringa nel tuo unico ? . Se stai utilizzando un singolo ? , devi passare un oggetto in cui i parametri dell'oggetto sono gli stessi dei nomi dei campi del database.

Lo farei così:

let payload = {
    UsernameDB: data.RegUsername,
    PasswordDB: data.Regpassword
};

connection.query("INSERT INTO Codify SET ?", payload, function(err, rows) {

});

Puoi anche farlo in questo modo con un array invece di un oggetto:

let sql = "INSERT INTO Codify (UsernameDB, PasswordDB) VALUES (?, ?)";
connection.query(sql, [ data.RegUsername, data.Regpassword ], function(err, rows) {

});

o così:

let sql = "INSERT INTO Codify SET UsernameDB = ?, PasswordDB = ?";
connection.query(sql, [ data.RegUsername, data.Regpassword ],  function(err, rows) {

});

Ma trovo l'utilizzo di un singolo ? insieme a un oggetto è più leggibile.