SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 24.12.2012 12:11:53

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

подмена символов в базе

Здравствуйте!

В поле target данные записаны в таком формате - a:3:{i:0;s:2:"t1";i:1;s:2:"t3";i:2;s:2:"t9";}

Необходимо в цикле обновить поле target в таблице anketa и поменять t1, t2....t13 на s1, s2....s13

Подскажите пожалуйста

Неактивен

 

#2 24.12.2012 12:18:58

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: подмена символов в базе

Если в Ваших данных символ t встречается только в t1, t2 ... t13, в-общем, только там где поменять надо t на s, то http://dev.mysql.com/doc/refman/5.0/en/ … on_replace поможет.

Если же что-то более сложное, то боюсь, что Вам придется на клиент эту строку вытаскивать, ну а там уже проще всего json_decode'ом каким-нибудь преобразовать в массив, поменять t на s - и обратно в базу.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 24.12.2012 12:33:43

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: подмена символов в базе

deadka, я так думаю что в моем случае REPLACE мне поможет, только не могу сообразить как написать код!?
я вот так попробовал, что то не то...

$result5 = mysql_query("SELECT users.*,anketa.id_user,target FROM users,anketa WHERE users.id = anketa.id_user and users.id < '3000'",$db);

while ($myrow5 = mysql_fetch_array ($result5)){

$target = REPLACE('$myrow5[target]', 't', 's');

$result = mysql_query ("UPDATE anketa SET target='$target' WHERE id_user = '$myrow5[id]'");
   
}

Неактивен

 

#4 24.12.2012 12:39:53

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: подмена символов в базе

Зачем так сложно? Здесь не нужно вытаскивать данные на клиент, если по простому.

UPDATE `anketa` SET `target` = REPLACE(target, 't', 's');


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 24.12.2012 13:08:25

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: подмена символов в базе

Спасибо большое)

Неактивен

 

Board footer

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