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

  • Автор темы Автор темы clipof
  • Дата начала Дата начала

clipof

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

За ранее благодарен
 
накатить бекап.
Что за система? Что за обновление?
 
Либо написать процедуру, тут я не силен. Либо написать скрипт, который выберет все строки и разделит как вам нужно, а затем обновит базу... А вообще всегда надо делать бекапы, особенно перед обновлениями чего либо
 
Да есть конечно.
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);

как-то так, проблема будет если в названии исполнителя есть "-", ну и бекап текущей базы перед манипуляциями сделать обязательно.
 
Да есть конечно.
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);

как-то так, проблема будет если в названии исполнителя есть "-", ну и бекап текущей базы перед манипуляциями сделать обязательно.
Спасибо помогло
Ток вопрос, например исполнитель Кар-мен удалит знак"-" или удалит когда стоит пробел между знаком "-" когда Кар - Мен
 
Чтоб не удаляло в слове Кап-Мен знак "-" и не добавляло в поле "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);
 
Возникла одна проблема, перестал работать поиск
Проблема может заключаться, что в поле " video_title" добавился в самом начале пробел,
то есть вместо "Чумачечая весна", стало " Чумачечая весна"
И если есть возможность, как устранить этот пробел вначале текста.

За ранее благодарен
 
Еще один вопрос, если позволите)
Все никак не могу разобраться с поиском
Если очищаю таблицу, то все норме, но хватает на раз
Выдает ошибку:
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);

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