"code": "ER_PARSE_ERROR", "errno": 1064 для SQL действительного запроса в NodeJs - PullRequest
0 голосов
/ 19 марта 2020

"код": "ER_PARSE_ERROR", "errno": 1064, "sqlMessage": "У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL для правильный синтаксис для использования около 'SET @last_id_in_users = LAST_INSERT_ID (); INSERT INTO sale_targets (user_id, mon' в строке 1 "," sqlState ":" 42000 "," index ": 0,

NodeJs выдает мне эту ошибку в действительном запросе. Это точно, потому что в phpmyadmin он работает успешно. Пожалуйста, помогите мне.

Или альтернативные решения использовать несколько вставок одна за другой, используя LAST_INSERT_ID () вот так.

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 Ответ

0 голосов
/ 19 марта 2020

SET @last_id_in_users = ВЫБРАТЬ LAST_INSERT_ID ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...