我有以下问题:
我解析了一个 CSV 文件,然后数据应该会自动上传到 MySQL 数据库。现在的问题是我有数据类型“varchar”或“decimal”。在stackoverflow,我已经得到了帮助,如果数据类型是“十进制”,那么记录中只有数字。
记录 (rec) 如下所示:
[ { examplename1: 'example1',
examplename2: 'example2',
examplename3: 'example3',
examplename4: 'example4',
examplename5: 'example5',
examplename6: 'example6',
examplename7: 'example7',
examplename8: 'example8',
examplename9: 'example9',
examplename10: 'example10',
examplename11: 'example11',
examplename12: 'example12',
Diff_In_Hauswaehrung: -103600,
examplename14: 'example14',
Marktwert_NPV: -111146.16,
examplename16: 'example16' },
{ examplename1: 'example1',
examplename2: 'example2',
examplename3: 'example3',
examplename4: 'example4',
examplename5: 'example5',
examplename6: 'example6',
examplename7: 'example7',
examplename8: 'example8',
examplename9: 'example9',
examplename10: 'example10',
examplename11: 'example11',
examplename12: 'example12',
Diff_In_Hauswaehrung: 53851.33,
examplename14: 'example14',
Marktwert_NPV: 47328.16,
examplename16: 'example16' } ]
你可以看到在“Diff_In_Hauswaehrung”和“Marktwert_NPV”中有一个没有''的数字。
这些也在控制台中以黄色显示。
现在我想检查是否有这样的数字或只有一个带有 '' 的字符串,如果有一个数字,那么我不希望在 SQL 查询中的这个值周围没有“”。
现在我有一个 forEach 循环,其中所有值都用“”上传...但没有区别...keysY 只是 rec 的键。
rec.forEach(entry => {
values = `"${entry[keysY[0]]}"`
for (var i = 1; i < keysY.length; i++) {
values += `,"${entry[keysY[i]]}"`
}
//console.log(values)
var sql = `INSERT INTO ${richtigername} (${namen}) VALUES (${values})`;
connection.query(sql, [values], (error, response) => {
console.log(error || response);
我希望你可以帮助我 :)
肥皂起泡泡
沧海一幻觉
相关分类