NodeJS中的MySQL不适用于INSERT INTO中的多个语句
MySQL in NodeJS is not working for multiple statements in INSERT INTO
我有代码。
let addressQuery = 'INSERT INTO addresses(postalCode, street, city, state) VALUES(?, ?, ?, ?);';
let addressValue = [client.postalCode.replace(/'-/gi, ''), client.address, client.city, client.state];
let clientQuery = `INSERT INTO client(name, email, password, postalCode, addressNumber, cellPhone) VALUES(?, ?, ?, ?, ?, ?);`;
let clientValues = [client.name, client.email, client.password, client.postalCode.replace(/'-/gi, ''), client.number, client.cellPhone ];
let addressSQL = mysql.format(addressQuery, addressValue);
let clientSQL = mysql.format(clientQuery, clientValues);
connection.query(`${addressSQL} ${clientSQL}`, (err, result) => {});
哪个在addressSQL
中生成我的查询
INSERT INTO addresses(postalCode, street, city, state) VALUES('04545041', 'Rua Santa Justina', 'São Paulo', 'SP');`
对于clientSQL
INSERT INTO client(name, email, password, postalCode, addressNumber, cellPhone) VALUES('Keila', 'keila@dressandgo.com.br', 'Senha123Forte', '04545041', 352, 1130454006);
当我手动运行查询时,数据会插入到表中,但当我在节点中使用mysql模块时,只插入客户端数据,而不会在addresses
表中插入任何数据。没有来自模块的错误消息,只有未插入的数据。两个表在postalCode
字段中都有关系。有人知道为什么数据没有插入地址表吗?
您可能需要分别执行每个查询。所以试试这个:
connection.query(`${addressSQL}`, (err, result) => {
connection.query(`${clientSQL}`, (err, result_) => {
// If no errors, two statements executed
});
});
请阅读节点mysql文档
截面连接选项
multipleStatements:允许每个查询有多个mysql语句。小心这样,它可能会增加SQL注入攻击的范围。(默认值:false)
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- for循环中的javascript if语句找不到==
- 当使用extern和目标JavaScript时,我如何强制Haxe编译器使用require语句
- jquery if语句返回return wong语句
- 函数在return语句之前返回空对象
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何知道javascript for语句中的所有结果是否都是错误的
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- NodeJS中的MySQL不适用于INSERT INTO中的多个语句