sql >> Databáze >  >> RDS >> Mysql

Node-mysql vložit dotaz se dvěma hodnotami?

Děláte špatně to, že se pokoušíte zřetězit své dvě hodnoty do jediného řetězce a tento řetězec nahradit jediným ? . Pokud používáte jeden ? , musíte předat objekt, jehož parametry jsou stejné jako názvy databázových polí.

Udělal bych to takto:

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

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

});

Můžete to také udělat takto s polem místo objektu:

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

});

nebo takto:

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

});

Ale zjistil jsem, že používám jeden ? spolu s objektem je čitelnější.



  1. Proč se znaky Unicode v databázi zobrazují správně, ale jako ? při tisku v Javě přes Hibernate?

  2. mysql SUM polí VARCHAR bez použití CAST

  3. Dotaz Psycopg2 vrací Decimal('value')

  4. Symfony+Doctrine:Opravte syntaxi YAML pro výchozí hodnotu booleovského pole