Я обнаружил очень странную ошибку в MySQL, о которой я сообщил здесь:
Ошибка # 60166
В любом случае, в отношении ошибки # 42404 , SUBSTRING_INDEX () выглядит очень странно.
Заранее спасибо за любую помощь!
[EDIT]
Вот возможные варианты решения, уже приведенные мной в сообщении об ошибке:
Предлагаемое исправление: Использование: mysql> SELECT SUBSTRING_INDEX(LOWER(@user_at_host), '@', -1); вместо: mysql> SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1)); Избегайте использования этой функции с ошибками (см. Ошибку более чем за один год) # 42404 ) и: Используйте preg_ * UDF из http://www.mysqludf.org/ Но на данный момент это решение недоступно на Windows / Mysql 5.5.8 из-за 8 месяцев ошибка # 45549
Предлагаемое исправление:
Использование:
mysql> SELECT SUBSTRING_INDEX(LOWER(@user_at_host), '@', -1);
вместо:
mysql> SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1));
Избегайте использования этой функции с ошибками (см. Ошибку более чем за один год) # 42404 ) и:
select substring_index(lower(@user_at_host), '@', -1);
или
select lower(substring(@user_at_host, locate('@', @user_at_host)+1));