Вместо OUT
-переменных (которые используются в основном между процедурами) рассмотрите возможность обработки вывода как обычного набора результатов:
app.post('/api/createcategory', function (req, res) {
name = req.body.categoryName, icon = req.body.categoryIcon;
let createcategory = `CALL spAddCategory(?, ?);`
db.query(createcategory, [name, icon], (err, result) => {
if(err) {throw err};
console.log(result[0]);
})
res.send('Category Created')
})
И процедура возвращает набор результатов, который содержит последний вставленный id (при условии, что categoryID
- это AUTO_INCREMENT
id):
CREATE PROCEDURE spAddCategory (
category_name varchar(255),
category_icon varchar(255)
)
BEGIN
INSERT INTO categories ( categoryName, categoryIcon )
VALUES ( category_name, category_icon );
SELECT last_insert_id();
END
Обратите внимание, что вы можете получить более одной категории с одинаковым именем.