Я использую хранимую процедуру с подготовленной оценкой для поиска строк из строки адресов электронной почты.
Это выглядит так:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_users_by_email`(IN emailString VARCHAR(100))
BEGIN
SET @sql = CONCAT('SELECT user_id FROM users WHERE user_email IN (',emailString,')');
PREPARE qry FROM @sql;
EXECUTE qry;
END
Затем я вызываю процедуру, используя:
CALL get_users_by_email('me@email.com,you@email.com, etc..');
Но я получаю эту ошибку:
Unknown column in 'me@email.com' in 'where clause'
Запрос работает, еслиЯ использую его, чтобы найти числовые значения, такие как:
CALL get_users_by_email('123,456');
Есть идеи, почему он будет ошибочно работать с алфавитно-цифровыми значениями?Запрос работает нормально, когда он извлекается из подготовленного оператора и процедуры.