插入XML作为BLOB到MySQL数据库
我有我从到数据库解析和INSERT
值的JSON文件。在我的数据库列类型是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这似乎过时了。如果我做一些根本性的错误与我的设计(如列型),请让我知道。
如果file.myXMLString
确实是一个字符串,然后将其转换成Buffer
应该罚款。但你似乎转换myXMLString
,不file.myXMLString
。尝试:Buffer.from(file.myXMLString)
。
或者使用TEXT
类型字段,并在评论中直接插入建议。