Xwab
Форумыnavigate_nextПрограммирование на PHP

Помогите отфиксить [Решено]
Сообщения
Framework

Привет)

В общем есть в бд таблица а в ней столбцы. Где-то в этих столбцах есть значение нужное мне. и оно может быть не одно в столбце

Как мне его найти и заменить на новое?
добавлено спустя 2 минуты:
но только фрагмент.

Например в столбце может быть куча текста. И несколько раз в этом тексте встречаться "Добрый день" а мне надо его найти и заменить на "Добрый Вечер" .

------------------------------------------
Решение: UPDATE таблица SET поле = REPLACE(поле, 'текст для замены', 'на что заменять');


__________
посл.ред. 24 Окт 2011, 13:37; всего 2 раз(а) 24 Окт 2011, 3:27
kos

информация в строках а не в столбцах. Почитай основы SQL запросов, там несложно.

24 Окт 2011, 6:29
Plato

mysql_query("UPDATE FROM table_name SET key = 'Добрый вечер' WHERE key = 'Добрый день'");

table_name = имя таблицы
key = имя столбца

24 Окт 2011, 6:50
Framework

ActiveRecord меня впень разленит


kos, Информация в столбцах  Впрочем какая разница. Я выразился правильно и ты меня понял)
Plato, А остальная инфа точно останется в порядке?  Мне с такими запросами шутить низя

24 Окт 2011, 8:57
RiO

Framework, limit к 3 посту нужно добавить на всякий случай

24 Окт 2011, 9:45
Plato

Framework пишет:
"ActiveRecord меня впень разленит


kos, Информация в столбцах  Впрочем какая разница. Я выразился правильно и ты меня понял)
Plato, А остальная инфа точно останется в порядке?  Мне с такими запросами шутить низя  "


В ActiveRecord:

$table = Table::find('first', array('conditions' => 'key=Добрый день'));
$table->key = 'Добрый вечер';
$table->save();

Насчет сохранности инфы, резервный дамп таблицы никогда не навредит))

P.S. Единственное, сомневаюсь в кавычках в array('conditions' => 'key=Добрый день'),

24 Окт 2011, 9:48
Framework

Plato,

Мне нужен простой запрос а не ActiveRecord

C активрекордом я сам разберусь

Сейчас попробую выполнить запрос с 3 поста
Таблица огромная немного

RiO, Сколько?

24 Окт 2011, 11:07
Plato

Простой в посте 3. Зачем лимит не понимаю, пусть запрос обновляет все результаты. Дамп только сохрани перед этим

24 Окт 2011, 11:32
Framework

Plato, дамп таблицы сохранил

Сейчас посмотрим что 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

24 Окт 2011, 12:06
Plato

mysql_query("UPDATE `table_name` SET `key` = 'Добрый вечер' WHERE `key` = 'Добрый день'");

ошибся в запросе, FROM не нужно

24 Окт 2011, 12:31
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.