Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновить строки с удалением части текста в ячейке
 
 автор: 1prom   (03.02.2013 в 14:55)   письмо автору
 
 

Здравствуйте, помогите пожалуйста составить запрос

Есть таблица Allcities с ячейкой Apps
Нужно обновить строки, чтобы в ячейке Apps (text cp1251_general_ci) не было текста типа #l16365

Спасибо!

  Ответить  
 
 автор: Valick   (03.02.2013 в 15:45)   письмо автору
 
   для: 1prom   (03.02.2013 в 14:55)
 

кроме #l16365 в отдельно взятой ячейке нет ничего или там много разных символов в числе которых есть эта запись? и это значение надо удалить?

  Ответить  
 
 автор: 1prom   (03.02.2013 в 15:48)   письмо автору
 
   для: Valick   (03.02.2013 в 15:45)
 

В той ячейке есть много разных символов, как до, так и после текста, что надо удалить

  Ответить  
 
 автор: 1prom   (03.02.2013 в 15:53)   письмо автору
 
   для: Valick   (03.02.2013 в 15:45)
 

В тех ячейках есть:
1) текст, что не содержит текста #l16365
2) текст (символы) до текста #l16365
3) текст (символы) после текста #l16365
4) текст (символы) до и после текста #l16365
5) нет вообще содержимого

Да, нужно удалить в ячейках запись текст #l16365

  Ответить  
 
 автор: Valick   (03.02.2013 в 16:28)   письмо автору
 
   для: 1prom   (03.02.2013 в 15:53)
 

UPDATE `Allcities`
            SET `Apps `= REPLACE(`Apps `,'#l16365','')
            WHERE `Apps ` LIKE '%#l16365%'

  Ответить  
 
 автор: Sfinks   (03.02.2013 в 18:54)   письмо автору
 
   для: Valick   (03.02.2013 в 16:28)
 

Тут возникает вопрос: Нужно, как пишет автор:
Нужно обновить строки, чтобы не было текста ТИПА #l16365
или
Нужно обновить строки, чтобы не было текста ИМЕННО #l16365
?

Если второе, то да, так верно. А если все-таки первое, то не плохо было бы чтобы автор четко описал формат того, что нужно удалить.

  Ответить  
 
 автор: 1prom   (03.02.2013 в 18:57)   письмо автору
 
   для: Sfinks   (03.02.2013 в 18:54)
 

текст пускай остается, нужно просто из текста удалить именно #l16365

  Ответить  
 
 автор: Sfinks   (03.02.2013 в 19:09)   письмо автору
 
   для: 1prom   (03.02.2013 в 18:57)
 

Значит, если бы вы сразу написали понятно, получили бы ответ примерно в 15:00.

  Ответить  
 
 автор: 1prom   (03.02.2013 в 18:55)   письмо автору
 
   для: Valick   (03.02.2013 в 16:28)
 

если текст #l16365 находится в начале ячейки - запрос LIKE '%#l16365%' нужно менять на LIKE '#l16365%'

  Ответить  
 
 автор: btr   (03.02.2013 в 19:05)   письмо автору
 
   для: 1prom   (03.02.2013 в 18:55)
 

не знаю, может это корявый подход, но: 'l16365' если такой вариант в Вашем тексте принципиально не встречается, то можно поиск по нему устроить... LIKE '%l16365% например

  Ответить  
 
 автор: Sfinks   (03.02.2013 в 19:06)   письмо автору
 
   для: 1prom   (03.02.2013 в 18:55)
 

Нет, не нужно. Символ % означает 0 или более любых символов

  Ответить  
 
 автор: 1prom   (03.02.2013 в 19:18)   письмо автору
 
   для: Sfinks   (03.02.2013 в 19:06)
 

Еще раз спасибо, я все понял

  Ответить  
 
 автор: Valick   (03.02.2013 в 21:08)   письмо автору
 
   для: 1prom   (03.02.2013 в 18:55)
 

достаточно кинуть запрос в phpmyadmin и все станет предельно ясно

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования