MYSQL процедура сравнения данных с переменными и запись в другую таблицу
С процедурами совсем не бум-бум. Писал все обычными запросами но в некоторых случаях приходилось делать 2-3-4 запроса чтоб получить итоговый вариант. Решил перейти на процедуры...
Погуглил, почекал, в итоге подобного варианта не нашел...
Цель получить все данные _email, _password и тд.
после чего найти запись в таблице users которая равна users.email = _email AND users.password = _password после чего из этой записи получить id и записать переменные _token, _expires_at, _code, user_id( id из таблицы users ) в таблицу preToken
CREATE PROCEDURE `getPreliminaryToken`
(
IN _email VARCHAR(45),
IN _password VARCHAR(45),
IN _token VARCHAR(45),
IN _expires_at DATETIME,
IN _code INT
)
BEGIN
***
END
без процедуры я выполняю :
SELECT * FROM users WHERE email = ?
проверяю пароли и тд в коде программы и делаю запрос на добавление новой записи:
REPLACE INTO preToken (token, expires_at, user_id, code) values(?, ?, ?, ?);
Буду благодарен за помощь!
Ответы (1 шт):
Вообщем сделал процедуру: ( можно выполнить просто запросом но процедура проще в использовании)
CREATE PROCEDURE `getPreliminaryToken`
(
IN _email VARCHAR(45),
IN _password VARCHAR(45),
IN _token VARCHAR(100),
IN _expires_at DATETIME,
IN _code INT
)
BEGIN
REPLACE INTO `pretoken` (token, expires_at, user_id, code)
SELECT _token, _expires_at, id, _code
FROM users
WHERE users.email = _email AND users.password = _password;
END