Задавайте вопросы, мы ответим
Вы не зашли.
есть функция group_concat() ее размер меняется переменной GROUP_CONCAT_MAX_LEN.
есть функция quote() как у нее убрать ограничение ???
Неактивен
Т.е. длинна наверно не причом.
Я делаю запрос вида:
set GROUP_CONCAT_MAX_LEN = 655350;
set @nameL = (select group_concat(quote(table1.field1)) from table1 WHERE table1.field2 = sometext);
возвращаутся только запятые.
Причем если длеать:
set GROUP_CONCAT_MAX_LEN = 655350;
set @nameL = (select group_concat(quote(table1.field3)) from table1 WHERE table1.field2 = sometext);
то работает.
причем длинна строки table1.field3 < table1.field1 (отсюда думал что дело в ограничении по длинне)
Неактивен
понял пака адно quote() не работает с longtext??? как их падружить???
Неактивен
А зачем нужен QUOTE в этом запросе вообще?
Неактивен
paulus написал:
А зачем нужен QUOTE в этом запросе вообще?
думаю чтобы результат был похож на 'поле1', 'поле2','поле3','поле4','поле5'. Аналог CommaText. Потом в клиентах обрабатывается.
а обратное от QUOTE в MySQL есть???
Неактивен
Обратного от QUOTE не нашел..
А зачем Вам? Если будете использовать для SQL-выражений, то там все будет как нужно. А если не будете, то тогда и QUOTE не используйте.
А у Вас, кстати, какая версия сервера MySQL? Если меньше 4.0.17, то проблема может быть связана с некорректной работой этой функции.
Версию сервера можно узнать при помощи запроса SELECT VERSION()
Неактивен
Может быть, я плохо понимаю в абстрактном программировании, но по-моему,
QUOTE тут не нужен - раз, GROUP_CONCAT для _этого_ запроса не нужен - два.
GROUP_CONCAT вызывается тогда, когда Вам надо объединить поля при
группировке.
Пусть, например, у Вас есть такая табличка:
id | value
-----------
1 | 1
1 | 2
2 | 3
2 | 4
Тогда можно сделать запрос типа
SELECT id, GROUP_CONCAT(value) as value
FROM table
GROUP BY id
и получить
id | value
----------
1 | 1,2
2 | 3,4
Неактивен
LazY написал:
Обратного от QUOTE не нашел..
А зачем Вам? Если будете использовать для SQL-выражений, то там все будет как нужно. А если не будете, то тогда и QUOTE не используйте.
см. ниже.
LazY написал:
А у Вас, кстати, какая версия сервера MySQL? Если меньше 4.0.17, то проблема может быть связана с некорректной работой этой функции.
Версию сервера можно узнать при помощи запроса SELECT VERSION()
5.0.18-nt . Quote неработает именно с longtext. с text проблем нету.
Отредактированно Art Em (14.12.2007 13:22:27)
Неактивен
paulus написал:
Может быть, я плохо понимаю в абстрактном программировании, но по-моему,
QUOTE тут не нужен - раз, GROUP_CONCAT для _этого_ запроса не нужен - два.
Харашо, а что тут нужно ????
Задача. есть таблица -
id | value
-----------
1 | v1
2 | v2
3 | v3
4 | v4
Сделать запрос, результатом которого является ОДНА СТРОКА вида - 'v1','v2','v3','v4'
Неактивен
SELECT GROUP_CONCAT(CONCAT('\'',value,'\'')) FROM table
Неактивен
Спасибо. Пришол к тамуже.
Неактивен