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

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

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

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

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

textual
Листинг программы
  1. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут