Объединение 2 полей в таблице

clipof

Новичок
Добрый день, если есть минутка)
Какой нужно выполнить запрос
Есть таблица pm_videos
в ней до обновления системы было два поля со значениями
artist (Название артиста)
video_title (название композиции)
осталось одно поле video_title (Название артиста - Название композиции)
Как бы вернуть все обратно? если есть такая возможность)

За ранее благодарен
 

hell0w0rd

Продвинутый новичок
накатить бекап.
Что за система? Что за обновление?
 

hell0w0rd

Продвинутый новичок
Либо написать процедуру, тут я не силен. Либо написать скрипт, который выберет все строки и разделит как вам нужно, а затем обновит базу... А вообще всегда надо делать бекапы, особенно перед обновлениями чего либо
 

Gas

может по одной?
Да есть конечно.
0. сделать бекап текущей базы
1. добавить поле artist
2. update pm_videos set artist=left(video_title, LOCATE('-', video_title)-1);
3. update pm_videos set video_title=SUBSTRING(video_title, LOCATE('-', video_title)+1);

как-то так, проблема будет если в названии исполнителя есть "-", ну и бекап текущей базы перед манипуляциями сделать обязательно.
 

clipof

Новичок
Да есть конечно.
0. сделать бекап текущей базы
1. добавить поле artist
2. update pm_videos set artist=left(video_title, LOCATE('-', video_title)-1);
3. update pm_videos set video_title=SUBSTRING(video_title, LOCATE('-', video_title)+1);

как-то так, проблема будет если в названии исполнителя есть "-", ну и бекап текущей базы перед манипуляциями сделать обязательно.
Спасибо помогло
Ток вопрос, например исполнитель Кар-мен удалит знак"-" или удалит когда стоит пробел между знаком "-" когда Кар - Мен
 

clipof

Новичок
Чтоб не удаляло в слове Кап-Мен знак "-" и не добавляло в поле "video_title" знак "-" пришлось немного по манипулировать и получилось

Код:
update pm_videos set artist=left(video_title, LOCATE(' - ', video_title)-1);
update pm_videos set video_title=SUBSTRING(video_title, LOCATE('- ', video_title)+1);
 

clipof

Новичок
Возникла одна проблема, перестал работать поиск
Проблема может заключаться, что в поле " video_title" добавился в самом начале пробел,
то есть вместо "Чумачечая весна", стало " Чумачечая весна"
И если есть возможность, как устранить этот пробел вначале текста.

За ранее благодарен
 

Andkorol

Новичок
А если головой подумать..?
PHP:
UPDATE `table_name` SET `video_title` = LTRIM(`video_title`);
 

clipof

Новичок
Еще один вопрос, если позволите)
Все никак не могу разобраться с поиском
Если очищаю таблицу, то все норме, но хватает на раз
Выдает ошибку:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in search.php on line 182
Warning
: mysql_free_result() expects parameter 1 to be resource, boolean given in search.php on line 204

on line 182 строка while ($row = mysql_fetch_array($result))
on line 204 строка mysql_free_result($result)

Код:
if ($total_results > 0)
    {
  while ($row = mysql_fetch_array($result))
    {
            // ** Mark as new ** //
  $sql_date = date('Y-m-d', $row['added']);
            $date_diff = round( abs(strtotime(date('Y-m-d'))-strtotime($sql_date)) / 86400, 0 );

            $item .= "
            <li class=\"item1 column\">
            <a href=\"".makevideolink($row['uniq_id'], $row['artist'], $row['video_title'])."\">
            <div class=\"iteminfo1\">
          
            <img src=\"".show_thumb($row['uniq_id'])."\"  alt=\"". fewchars($row['artist'], 20) ."\"  width=\"116\" height=\"87\" />
          
            <em class=\"artist_name\">".fewchars($row['artist'], 22)."</em>
            <em class=\"song_name\">".fewchars($row['video_title'], 20)."</em>
            <span class=\"item_views\">
            <em class=\"item_views_no\">".$row['site_views']."</em></span>";
      

            $item .= "</div></a>
                            </li>";
  }
  mysql_free_result($result);
За ранее благодрен
 

Andkorol

Новичок
так до этого работало, пока не перенес базу, в самой базе может быть ошибка?
Ну мне ж откуда знать?
Нужно текст ошибки смотреть, сам запрос смотреть – чего гадать-то впустую?
По ссылке же всё написано – что и как нужно сделать, чтоб выявить причины проблем.
 
Сверху