например таким запросом:
пример 1)
UPDATE `stats` SET `nofrom`=`nofrom`+1 WHERE `date`='$date'
Я обновляю поле nofrom на 1 после каждого выполнения этого кода.
поле nofrom (INT) здесь все понятно. От сюда вопрос можно ли делать !примерно! то же самое с полем, тип которого - TEXT (или какое еще?)
Например мне нужно в поле tovar(text) добавлять id какого то товара через запятую.
реально ли это сделать без двойного запроса?
т.е. я всегда сначала обращаюсь в базу (select) выбираю строку с полем, преобразую данные поля в массив, потом, добавляю к нему еще один id? дальше делаю опять строку из массива и потом обновляю поле tovar.
Как то длинно мне кажется получается. Должно же быть оптимальное решение.
Подскажите есть ли варианты в моем случае, сделать примерно так же как в первом примере?
Спустя 22 минуты, 22 секунды (1.04.2011 - 10:57) ZSH написал(а):
может это concat_ws
Спустя 20 минут, 8 секунд (1.04.2011 - 11:17) Trianon написал(а):
Чисто теоретически это можно сделать с помощью CONCAT()
На практике - ключи никогда не пишутся списком в одну ячейку
Хотите вести список - ведите его в строках связанной таблицы - по элементу на строку.
На практике - ключи никогда не пишутся списком в одну ячейку
Хотите вести список - ведите его в строках связанной таблицы - по элементу на строку.
Спустя 40 минут, 59 секунд (1.04.2011 - 11:58) kuzroman написал(а):
Цитата (Trianon @ 1.04.2011 - 08:17) |
Чисто теоретически это можно сделать с помощью CONCAT() На практике - ключи никогда не пишутся списком в одну ячейку Хотите вести список - ведите его в строках связанной таблицы - по элементу на строку. |
Случаи разные бывают.
И начальники тоже

Спустя 10 минут, 47 секунд (1.04.2011 - 12:09) kuzroman написал(а):
Цитата (Trianon @ 1.04.2011 - 08:17) |
Чисто теоретически это можно сделать с помощью CONCAT() На практике - ключи никогда не пишутся списком в одну ячейку Хотите вести список - ведите его в строках связанной таблицы - по элементу на строку. |
ээээ а как его в php то обработать? я что то пробую
так
$zapros= mysql_query(" Select CONCAT_WS (',','11111','22222','33333') FROM `stats` WHERE `date`='$date' ") or die("Invalid query: " . mysql_error());
и ничего не выходит!
Спустя 14 минут, 38 секунд (1.04.2011 - 12:24) ZSH написал(а):
UPDATE `tbl` SET `ppp` = CONCAT_WS(',', `ppp`, '11111') WHERE bla = bla;
попробуй
попробуй
Спустя 13 минут (1.04.2011 - 12:37) Trianon написал(а):
Цитата |
Случаи разные бывают. И начальники тоже smile.gif |
Это верно.
Но просьбы предлагать изначально кривые решения это всё не оправдывает.
Хреновый случай - чините случай.
Хреновый начальник - чините начальника.
А научить шуруп забивать молотком просить не надо.
Спустя 7 минут, 19 секунд (1.04.2011 - 12:44) kuzroman написал(а):
В общем какая красота получилась))
И никакой второй таблицы не нужно))
$id_tovar_arr = array_keys($_SESSION['korzina']); // выбрать все ключи массива
$id_tovar_str = implode(', ', $id_tovar_arr); // все ключи массива преобразовать в строку
$zapros= mysql_query(" UPDATE `stats` SET `$from_tovar`=CONCAT_WS(',', `$from_tovar`, '$id_tovar_str') WHERE date='$date' ");
И никакой второй таблицы не нужно))
_____________
kuzroman@list.ru