Как вернуть строку которая была добавлена mysql

Всем привет! Сейчас использую процедуру такого типа :

CREATE PROCEDURE `createUser`(
IN _name VARCHAR(100),
IN _surname VARCHAR(100),
IN _email VARCHAR(100),
IN _password VARCHAR(512)
)
BEGIN
INSERT INTO `api`.`users`(name, surname, email, password, created_at, updated_at)
VALUE (_name, _surname, _email, _password, now(), now());

SELECT * FROM users WHERE email = _email;
END

мне кажется что SELECT * FROM users WHERE email = _email; это лишняя нагрузка. Возможно ли вернуть всю строку которая была добавлена без запроса SELECT? Буду благодарен за помощь!


Ответы (1 шт):

Автор решения: Aziz Umarov

в данном случае работать будет

CREATE PROCEDURE `createUser`(
IN _name VARCHAR(100),
IN _surname VARCHAR(100),
IN _email VARCHAR(100),
IN _password VARCHAR(512)
)
BEGIN
DECLARE _now Datetime DEFAULT 0;
SET _now = _now();

INSERT INTO `api`.`users`(name, surname, email, password, created_at, updated_at)
VALUE (_name, _surname, _email, _password, _now, _now);

SELECT _name, _surname, _email, _password, _now, _now;
END

но всё таки лучше брать данные из таблицы это гарантирует возврат записанных данных, а не отправленных на сохранение.

→ Ссылка