我有一个看起来像这样的JSON对象-
{
"questions":
[{
"question_id": "1",
"question": "Choose games you're currently playing",
"answers":
[{ "answer_id" : "1", "answer": "game1", "checked": false },
{ "answer_id": "2", "answer": "game2", "checked" : true }]
},
{
//...
}]
}
我正在尝试使用MySql2将其存储在JSON列中。
我的查询-
const query = `INSERT INTO user_questions(_id, questions,created_at, updated_at, deleted)
VALUES(1, '${JSON.stringify(questions)}', NOW(), NOW(), 0)`;
const result = await db.query(query)
但是我收到以下异常错误-
UnhandledPromiseRejectionWarning: Error: You have an error in your SQL syntax;
我到底在做什么错?
Edit:我发现是由于问题中的撇号引起的。如果我尝试在没有查询的情况下运行查询,它将正常工作。
const query = 'INSERT INTO user_questions(_id, questions,created_at, updated_at, deleted) values (?, ?, ?, ?, ?)';
const result = await db.query(query, [1, JSON.stringify(questions), NOW(), NOW(), 0)]);
可正确转义所有列:enter link description here