Привет)
В общем есть в бд таблица а в ней столбцы. Где-то в этих столбцах есть значение нужное мне. и оно может быть не одно в столбце
Как мне его найти и заменить на новое?
добавлено спустя 2 минуты:
но только фрагмент.
Например в столбце может быть куча текста. И несколько раз в этом тексте встречаться "Добрый день" а мне надо его найти и заменить на "Добрый Вечер" .
------------------------------------------
Решение: UPDATE таблица SET поле = REPLACE(поле, 'текст для замены', 'на что заменять');
информация в строках а не в столбцах. Почитай основы SQL запросов, там несложно.
24 Окт 2011, 6:29mysql_query("UPDATE FROM table_name SET key = 'Добрый вечер' WHERE key = 'Добрый день'");
table_name = имя таблицы
key = имя столбца
ActiveRecord меня впень разленит
kos, Информация в столбцах
Впрочем какая разница. Я выразился правильно и ты меня понял)
Plato, А остальная инфа точно останется в порядке?
Мне с такими запросами шутить низя 
Framework пишет:
"ActiveRecord меня впень разленит
kos, Информация в столбцах
Впрочем какая разница. Я выразился правильно и ты меня понял)
Plato, А остальная инфа точно останется в порядке?
Мне с такими запросами шутить низя
"
В ActiveRecord:
$table = Table::find('first', array('conditions' => 'key=Добрый день'));
$table->key = 'Добрый вечер';
$table->save();
Насчет сохранности инфы, резервный дамп таблицы никогда не навредит))
P.S. Единственное, сомневаюсь в кавычках в array('conditions' => 'key=Добрый день'),
Plato,
Мне нужен простой запрос а не ActiveRecord
C активрекордом я сам разберусь
Сейчас попробую выполнить запрос с 3 поста
Таблица огромная немного
RiO, Сколько?
Простой в посте 3. Зачем лимит не понимаю, пусть запрос обновляет все результаты. Дамп только сохрани перед этим
24 Окт 2011, 11:32Plato, дамп таблицы сохранил
Сейчас посмотрим что MySQL ответит)
добавлено спустя 9 минут:
Plato, Ага, хрен там
(
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM table_name SET key = 'Добрый вечер' WHERE key = 'Добрый Вечер' at line 1
-----
добавлено спустя 15 минут:
Не работает блин
Но я могу достать данные вот так
SELECT * FROM `database`.`table_name`WHERE (CONVERT( `stolbec` USING utf8) LIKE '%zapros%');
Но вот как мне этот %zapros% изменить на %zapros_new% ?
F1
mysql_query("UPDATE `table_name` SET `key` = 'Добрый вечер' WHERE `key` = 'Добрый день'");
ошибся в запросе, FROM не нужно