Я работаю над приложением реагирования с бэкэндом Node / Express JS. Я пытаюсь вставить значение, основанное на вводе пользователя, в MySQL базу данных. Вот мой запрос поста Node:
// To create a new user account
app.post('/createUser', function(req, res) {
console.log('in createUser');
const {firstName, lastName, username, passcode, email} = req.query;
const CreateUser = `CALL CreateUser('${firstName}', '${lastName}',
'${username}', '${passcode}', '${email}')`;
mysqlConnection.query(CreateUser, (error, result) => {
if(error) {
res.status(500)
res.send("Could not create user account.")
} else {
console.log('create user cart');
console.log(`${req.query.username}`);
const CreateUserCart = `CALL CreateUserCart('${req.query.username}')`;
mysqlConnection.query(CreateUserCart, (error1, result1) => {
if(error1) {
res.status(500)
res.send("Could not create user account.")
} else {
res.status(201)
res.send("Account successfully created!")
}
})
}
})
});
Первая хранимая процедура, CreateUser, работает нормально. Что я хочу сделать, это взять значение в req.query имени пользователя и передать его в хранимую процедуру с именем CreateUserCart. Вот эта хранимая процедура:
CREATE DEFINER=`lsharon`@`%` PROCEDURE `CreateUserCart`(IN
username VARCHAR(45)
)
BEGIN
INSERT INTO SHOPPING_CART(CustomerID)
SELECT CustomerID
FROM CUSTOMER
WHERE Username = username;
END
Я хочу вставить CustomerID, принадлежащий только что созданному пользователю, в таблицу корзины покупок. Однако в настоящее время он вставляет каждый CustomerID в эту таблицу, даже если она там уже существует. Я хочу вставить идентификатор только для одного пользователя, который только что создал учетную запись. Любые предложения будут оценены !!