SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.12.2007 17:36:04

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

кавычки и что делать??? т.е. QUOTE() и длянна.

есть функция group_concat() ее размер меняется переменной GROUP_CONCAT_MAX_LEN.
есть функция quote() как у нее убрать ограничение ???

Неактивен

 

#2 13.12.2007 18:16:05

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. 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 (отсюда думал что дело в ограничении по длинне)

Неактивен

 

#3 13.12.2007 18:20:39

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

понял пака адно quote() не работает с longtext??? как их падружить???

Неактивен

 

#4 13.12.2007 18:34:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

А зачем нужен QUOTE в этом запросе вообще?

Неактивен

 

#5 13.12.2007 18:51:10

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

paulus написал:

А зачем нужен QUOTE в этом запросе вообще?

думаю чтобы результат был похож на 'поле1', 'поле2','поле3','поле4','поле5'. Аналог CommaText. Потом в клиентах обрабатывается.

а обратное от QUOTE в MySQL есть???

Неактивен

 

#6 14.12.2007 10:31:35

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

Обратного от QUOTE не нашел..
А зачем Вам? Если будете использовать для SQL-выражений, то там все будет как нужно. А если не будете, то тогда и QUOTE не используйте.

А у Вас, кстати, какая версия сервера MySQL? Если меньше 4.0.17, то проблема может быть связана с некорректной работой этой функции.
Версию сервера можно узнать при помощи запроса SELECT VERSION()

Неактивен

 

#7 14.12.2007 12:49:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

Может быть, я плохо понимаю в абстрактном программировании, но по-моему,
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

Неактивен

 

#8 14.12.2007 13:19:11

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

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)

Неактивен

 

#9 14.12.2007 13:22:47

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

paulus написал:

Может быть, я плохо понимаю в абстрактном программировании, но по-моему,
QUOTE тут не нужен - раз, GROUP_CONCAT для _этого_ запроса не нужен - два.

Харашо, а что тут нужно ????

Задача. есть таблица -

id | value
-----------
1 | v1
2 | v2
3 | v3
4 | v4

Сделать запрос, результатом которого является ОДНА СТРОКА вида - 'v1','v2','v3','v4'

Неактивен

 

#10 14.12.2007 14:41:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

SELECT GROUP_CONCAT(CONCAT('\'',value,'\'')) FROM table

Неактивен

 

#11 19.12.2007 18:56:04

Art Em
Участник
Зарегистрирован: 18.09.2007
Сообщений: 14

Re: кавычки и что делать??? т.е. QUOTE() и длянна.

Спасибо. Пришол к тамуже.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson