Ошибка при вызове хранимой процедуры - MySQL

Узнай цену своей работы

Формулировка задачи:

Создал хранимую процедуру:
CREATE DEFINER=`root`@`localhost` PROCEDURE `QueryAuthentification`(IN `@hash` VARCHAR(50))
    LANGUAGE SQL
    NOT DETERMINISTIC
    READS SQL DATA
    SQL SECURITY DEFINER
    COMMENT 'запрос на проверку логина и пароля'
BEGIN
    SELECT lvl FROM login WHERE hash = `@hash`; 
END
При ее вызове:
CALL `QueryAuthentification`('5F4DCC3B5AA765D61D8327DEB882CF99')
возникает ошибка (вложение 1). В чем может быть ошибка? База и таблицы - все в utf8_general_ci:
collation_connection : utf8_general_ci
collation_database : utf8_general_ci
collation_server : latin1_swedish_ci

Решение задачи: «Ошибка при вызове хранимой процедуры»

textual
Листинг программы
SELECT lvl FROM login WHERE hash = `@hash` COLLATE utf8_unicode_ci;

Объяснение кода листинга программы

  1. SELECT - это команда для выбора данных из базы данных.
  2. lvl - это название столбца, из которого выбираются данные.
  3. FROM - это команда для указания источника данных.
  4. login - это название таблицы, из которой выбираются данные.
  5. WHERE - это команда для фильтрации данных по определенному условию.
  6. hash - это название столбца, по которому происходит фильтрация данных.
  7. @hash - это параметр, который передается в качестве значения в запросе.
  8. COLLATE utf8_unicode_ci - это указание на кодировку и сортировку данных в столбце hash.
  9. login - это название таблицы, в которой выполняется запрос.
  10. lvl - это название столбца, в котором хранятся данные, которые выбираются в запросе.
  11. @hash - это значение параметра, который передается в качестве условия для фильтрации данных.
  12. hash - это название столбца, по которому происходит фильтрация данных.
  13. COLLATE utf8_unicode_ci - это указание на кодировку и сортировку данных в столбце hash.
  14. login - это название таблицы, в которой выполняется запрос.
  15. lvl - это название столбца, в котором хранятся данные, которые выбираются в запросе.
  16. WHERE - это команда для фильтрации данных по определенному условию.
  17. hash - это название столбца, по которому происходит фильтрация данных.
  18. @hash - это значение параметра, который передается в качестве условия для фильтрации данных.
  19. COLLATE utf8_unicode_ci - это указание на кодировку и сортировку данных в столбце hash.
  20. login - это название таблицы, в которой выполняется запрос.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5