mySql 插入语法 - 没有插入预期的内容
mySql Insert Syntax - Not Inserting What's Expected
我有这个 INSERT 查询。它确实在 table 中创建了一条记录,但是“client”值为 0,而“short”值为 null。但是,所有控制台日志都显示正确的数据。我假设这是我使用问号时的一个简单语法错误。但是我找不到它,或者似乎也只能使用变量名来让它工作。感谢任何帮助。
app.put("/audit/create", function (req, res) {
console.log("It is getting to the route");
const client = req.body.client;
const short = req.body.short;
console.log(`client: ${client}`);
console.log(`short: ${short}`);
connection.getConnection(function (err, connection) {
connection.query(
`INSERT INTO audits (client, short)
VALUES (?, ?)`,
[
{
client: client,
},
{
short: short,
},
],
function (error, results, fields) {
if (error) throw error;
res.json(results);
console.log(`Audit has been created`);
}
);
connection.release();
});
});
我也尝试过使用 ${client} 和 ${short} 的变量名称代替问号...但仍然得到相同的结果。然而,呈现 ${client} 和 ${short} 的控制台日志确实记录了我期望看到的正确数据。
为什么要将对象作为值传递给查询?尝试一下:
connection.query(
'INSERT INTO audits (client, short) VALUES (?, ?)',
[ client, short ],
function ...
我有这个 INSERT 查询。它确实在 table 中创建了一条记录,但是“client”值为 0,而“short”值为 null。但是,所有控制台日志都显示正确的数据。我假设这是我使用问号时的一个简单语法错误。但是我找不到它,或者似乎也只能使用变量名来让它工作。感谢任何帮助。
app.put("/audit/create", function (req, res) {
console.log("It is getting to the route");
const client = req.body.client;
const short = req.body.short;
console.log(`client: ${client}`);
console.log(`short: ${short}`);
connection.getConnection(function (err, connection) {
connection.query(
`INSERT INTO audits (client, short)
VALUES (?, ?)`,
[
{
client: client,
},
{
short: short,
},
],
function (error, results, fields) {
if (error) throw error;
res.json(results);
console.log(`Audit has been created`);
}
);
connection.release();
});
});
我也尝试过使用 ${client} 和 ${short} 的变量名称代替问号...但仍然得到相同的结果。然而,呈现 ${client} 和 ${short} 的控制台日志确实记录了我期望看到的正确数据。
为什么要将对象作为值传递给查询?尝试一下:
connection.query(
'INSERT INTO audits (client, short) VALUES (?, ?)',
[ client, short ],
function ...