Как сделать в запросе объединение 2-х полей?

на php есть некая процедура создания хэш:
$a= md5($b.''.md5($c));

Как можно сделать в MySQL все это одним запросом?

Данный вариант возвращает отличный от php хэш:
SELECT MD5(b || MD5(c)) FROM `table` WHERE  ID = 1;


Concat: возвращает 3-ий вариант хэша:
SELECT MD5(concat(b,md5(c))) FROM `table` WHERE  ID = 1;


Так где же истина, что бы и PHP и MySQL возвращали один хэш?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
PHP:
print md5('a'.''.md5('b'));
57e9f61da712c151b9d535392036223f


MySQL:
SELECT MD5(CONCAT('a', MD5('b')))
57e9f61da712c151b9d535392036223f


Вывод - где-то у вас значения b и c не совпадают. Ну и непонятно, зачем в PHP конкатенация с пустой строкой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы