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

Node-mysql indsæt forespørgsel med to værdier?

Det, du gør forkert, er, at du forsøger at sammenkæde dine to værdier i en enkelt streng og få den streng erstattet i din enkelt ? . Hvis du bruger en enkelt ? , skal du indsætte et objekt, hvor objektets parametre er de samme som databasefeltnavnene.

Jeg ville gøre det sådan her:

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

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

});

Du kan også gøre det sådan med et array i stedet for et objekt:

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

});

eller sådan her:

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

});

Men jeg synes at bruge en enkelt ? sammen med et objekt er mere læsbar.



  1. Hvilke versioner af SQL Server understøtter LINQ til SQL?

  2. Fejl i php-fil

  3. Hvordan gemmer jeg en værdi fra en sql-forespørgsel i en variabel?

  4. Understøtter MySQL historisk dato (som 1200)?