我有一个JSON文件,我将其解析并将INSERT
的值解析到数据库中。我的数据库中的列类型为longblob
。我的项目是一个使用mysql module的nodejs应用程序。 XML以字符串形式存储在JSON中,我使用类似于以下内容的东西:
private insertXMLBlob(file: ILogRecord): Promise<any> {
return new Promise((resolve, reject) => {
connection.query(`INSERT INTO blob_table(myBlob) VALUES(BINARY(${file.myXMLString}))`, (error, results) => {
if (error) {
reject(error);
} else {
console.log(results);
resolve(results.insertId);
}
});
});
}
这给了我错误:
错误:错误:ER_PARSE_ERROR:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获取在'$ {myXMLString}'附近使用的正确语法
我还尝试使用Buffer.from(file.myXMLString)
(docs)并将缓冲区直接插入到我的表中。我看着this example似乎已经过时了。如果我做的设计根本上有问题(例如列类型),请告诉我。
答案 0 :(得分:0)
如果file.myXMLString
确实是字符串,那么将其转换为Buffer
应该没问题。但是您似乎转换了myXMLString
,而不是file.myXMLString
。试试:Buffer.from(file.myXMLString)
。
或在注释中建议使用TEXT
类型字段并直接插入。