![]() |
Like и деление базы
Вообщем, в процесе творческой работы возникла необходимость достать базу через SQL-Injection.
Проблема: необходимо достать всю базу. Предпосылки: скуля выводит только одну строку (это я решил скриптом), сама скуля в mod_rewrite => передача методом POST невозможна. Скрипт для вытягивания организован по принципу where+table_name+not+in+(....). Соответственно, рано или поздно длина запроса становится предельно допустимой и мой скрипт тупо дохнет. Никаких средств для работы с БД не имеется. Вопрос - как решить проблему - желательно - составление грамотного SQL запроса, который не увеличивет длину GET-запроса, а держит ее примерно одинаковой. P. S. MySQL |
какая версия? Можно перебирать limit'ом
|
непонятно, наверное я глючу
покажи полностью запрос, что именно ты извлекаешь и зачем тебе конструкция not in |
Вопрос решен. Я в условии брал where > id сначала. Сейчас попробовал where = id. Работает. Опять же - просто поразмышлять. Как наиболее ровно при помощи LIKE поделить базу?
Понятно, что если будет отбирать по первой букве - кол-во строк в результате будет разным. А как при помощи LIKE сделать, чтобы практически одинаковые части? Пример (условный): avalone alacurd ariel baracca zero Если LIKE 'a%' - 3 записи. - база поделена не ровно. Как (используя LIKE) на примере базы, например 10 000 записей, поделить поровну на 10 частей или на 20, например. |
а зачем его использовать? А count и limit не подойдут?
|
Цитата:
|
LIMIT'ом можно автоматизировать, а тут зависимость от предыдущего результата будет
Код:
where+table_name+not+like+'%table1%'+and+not+like+'%table2%'+and+not+like+'%table3%'+...Не-е, LIMIT лучше )) |
Через Like точного разделения ты не сделаешь - это та же регулярка, в которой ты можешь указать что подходит, но не можешь сказать в каком количестве
|
| Время: 20:40 |