【发布时间】:2023-03-11 05:28:01
【问题描述】:
我在 Typescript 中有一个项目,我试图通过我通过object 发送的选项创建一个插入。现在我有两个对象,每个插入一个,这些插入是在不同的表和不同的对象中创建的。我想知道是否可以为多个对象创建通用插入。
这是我目前拥有的:
let object1 = [
{ country: 'CO', name: 'CO_SE.xml', exists: 1 },
{ country: 'CO', name: 'CO_IN.xml', exists: 1 },
{ country: 'CO', name: 'CO_BR.xml', exists: 1 }
];
`INSERT INTO ${database} VALUES` + object1.map((elem: any) =>
`"${elem.country}", "${elem.name}", ${elem.exists})`).join(', ');
let object2 = [
{ code: 1, folder: '/ToFtp', max: 8 },
{ code: 2, folder: '/ToXml', max: 5 },
{ code: 3, folder: '/ToMail', max: 5 }
];
`INSERT INTO ${database} VALUES` + object2.map((elem: any) =>
`${elem.code}, "${elem.folder}", ${elem.max})`).join(', ');
这就是我想要达到的目标:
let object1 = [
{ country: 'CO', name: 'CO_SE.xml', exists: 1 },
{ country: 'CO', name: 'CO_IN.xml', exists: 1 },
{ country: 'CO', name: 'CO_BR.xml', exists: 1 }
];
let object2 = [
{ code: 1, folder: '/ToFtp', max: 8 },
{ code: 2, folder: '/ToXml', max: 5 },
{ code: 3, folder: '/ToMail', max: 5 }
];
`INSERT INTO ${database} VALUES` + ${object}.map((elem: any) =>
`"${elem.elem1}", ... ${elem.elemN})`).join(', ');
这可能吗?我不确定这是否可以做到。
【问题讨论】:
-
几个额外的问题:1) object1 和 object 2 中的每个条目是否总是具有相同数量的条目(即使给定键的值可能为空)? 2) 您是否只需要针对恰好两个对象数组(object1 和 object2)的解决方案,还是需要针对任意数量的对象(即 object3、object4、object
N)的灵活性? -
@dusthaines 1 - 他们不会总是拥有相同数量的票。 2 - 我需要它对多个对象灵活,我放的只是示例
-
你在用
mysql包吗? -
@AmirSaleem 我正在使用 promise-mysql 包来创建数据库连接
-
将动态内容直接添加到查询中是有风险的并且容易发生 SQL 注入。我建议你使用转义。如果你使用的是 mysql 包,你可以使用
connection.query({ sql: "", values: [] })语法
标签: mysql node.js arrays typescript