Я использую функцию MySQL для аутентификации входаmysql | Функция несколько возвращает
DELIMITER ||
CREATE FUNCTION CheckLogin (username VARCHAR(10), _password VARCHAR(20))
RETURNS BOOL
NOT DETERMINISTIC
READS SQL DATA
BEGIN
RETURN EXISTS (SELECT ID FROM `users` WHERE name = _username AND passwd = _password);
END;
||
DELIMITER ;
Это мой Java-код:
try {
cStmt = (CallableStatement) sql.connection.prepareCall("{? = call CheckLogin(?, ?)}");
cStmt.registerOutParameter(1,Types.BOOLEAN);
cStmt.setString(2, name);
cStmt.setString(3, passwd);
cStmt.execute();
outputValue = cStmt.getBoolean(1);
} catch (SQLException e1) {
e1.printStackTrace();
Я понятия не имею, как вернуть результат SELECT ID
Я хочу, чтобы получить идентификатор ,
Почему «ВОЗВРАЩАЕТСЯ BOOL» в функции MySQL? –
, потому что если существует имя пользователя с пропуском, чем возвращает True else false – Norbert
Потому что, наконец, вы сказали: «Я не знаю, как вернуть результат« SELECT ID », я хочу получить идентификатор». –