当前位置: 首页 > 知识库问答 >
问题:

NodeJs中SQL有效查询的“code”:“er_parse_error”,“errno”:1064

公冶昆杰
2023-03-14

“code”:“er_parse_error”,“errno”:1064,“sqlmessage”:“您的SQL语法中有错误;请查看与您的MySQL服务器版本相对应的手册,以便在'set@last_id_in_users=LAST_INSERT_ID();INSERT INTO sale_targets(user_id,mon'at line 1”,“sqlstate”:“42000”,“index”:0,

NodeJs在一个有效的查询上向我抛出这个错误。它肯定是有效的,因为在phpmyadmin中它可以成功地工作。请帮帮我.

或者使用LAST_INSERT_ID()一个接一个地使用多个insert的替代解决方案

BEGIN;
INSERT INTO users (email, first_name, last_name, password, role_id) values ("test@tester.com", "test", "test", "$2b$10$dGZ0NArlvpE7M3J4SEuW4eXrDLR4/w218mdftB0eNuJInV6BS7V2.", 3); 
SET @last_id_in_users = LAST_INSERT_ID(); 
INSERT INTO sale_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(LAST_INSERT_ID(), '0', '0','0','0','0','0','0'); 
INSERT INTO close_ratio (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(@last_id_in_users,'0', '0','0','0','0','0','0'); 
INSERT INTO lead_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(@last_id_in_users,'0', '0','0','0','0','0','0'); 
COMMIT;

我的节点查询连接:

    const q = `BEGIN; INSERT INTO users (email, first_name, last_name, password, role_id) 
values ("${rBody.email}", "${rBody.firstName}", "${rBody.lastName}", "${hash}", ${roleId}); 
SET @last_id_in_users = LAST_INSERT_ID(); 
INSERT INTO sale_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday); 
VALUES(LAST_INSERT_ID(), '0', '0','0','0','0','0','0'); 
INSERT INTO close_ratio (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) 
VALUES(@last_id_in_users,'0', '0','0','0','0','0','0'); 
INSERT INTO lead_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(@last_id_in_users,'0','0','0','0','0','0','0'); 
COMMIT`;
                    connection.query(q, (err, resp) => {
                        if (err) {
                            // Error inserting into users table
                            resolve({
                                success: false,
                                error: err
                            })
                        } else {
                            // User succesfully created
                            resolve({
                                success: true,
                                message: 'User succesfully created',
                                id: resp.insertId
                            })
                            console.log(resp)
                        }

                    })

共有1个答案

庾勇军
2023-03-14

SET@last_id_in_users=SELECT LAST_INSERT_ID();

 类似资料:
  • 问题内容: 我正在看某人给我写的便条,看起来像这样: 我试图弄清楚仅仅是评论还是它实际上意味着我从未见过的东西。 问题答案: 在这种情况下,它只是一个注释…方括号通常用于定界保留字的真实名称,或者仅用于定界实际的标识符,但是a之后的任何内容始终是注释。

  • 问题内容: 在django中,此SQL语句的等效项是什么? 如何在Django中实现呢?我试过了 但这是行不通的。我该如何执行呢? 问题答案: 使用或(不区分大小写): SQL等效为

  • 问题内容: 我想编写一个包含NodeJS变量的SQL查询。当我这样做时,它给我一个错误“未定义”。 我希望下面的SQL查询能够识别该变量。如何将NodeJS变量输入到SQL查询中?它周围是否需要特殊字符,例如或。 问题答案: 您将需要将变量的 值 放入SQL语句中。 这不好: 这将起作用,但是从SQL注入攻击中并不安全: 为了防止SQL注入,您可以像这样转义您的价值: 但是最好的方法是使用参数替换

  • 问题内容: 您将如何证明两个查询在功能上是等效的,例如它们将始终都返回相同的结果集。 由于在执行此操作时会想到一个特定的查询,因此最终按照@dougman的建议进行操作,在有关表的约10%的行中进行比较并比较结果,以确保没有不合适的结果。 问题答案: 最好的办法是根据给定的一组输入比较两个查询输出,以查找任何差异。要说它们对于所有输入将始终返回相同的结果,实际上取决于数据。 对于Oracle,最好

  • 问题内容: 我的SQL代码如下: 等效的linq表达式是什么? 问题答案: 我第一次尝试在 来源 LINQ to SQL中的NOT IN子句

  • 本文向大家介绍SQL中的子查询,包括了SQL中的子查询的使用技巧和注意事项,需要的朋友参考一下 子查询是查询内的查询,即嵌套查询。它放置在查询中,其结果用于进一步评估外部查询。 在SQL中,子查询必须遵循一些规则。其中一些是- 子查询应放在括号内。 子查询可以与不同的运算符(如<,>,<=,> =,IN,BETWEEN等)一起使用。还可以使用SELECT,INSERT,DELETE,UPDATE等