Как обновить один из столбцов таблицы, который в основном имеет год, мне просто нужно пошаговое обновление

0

Имя моей таблицы - kanaja_postmeta, и у меня около 1000 строк, где я хочу изменить значения столбца 2017-01-23 00:00:00 с 2017-01-23 00:00:00 до 2018-01-23 00:00:00,

Я попытался использовать запрос

Update 'kanaja_wp'.'kanaja_postmeta' set 'meta_value' = Date_Add(YYYY,+1,'meta_value'); 

но получить код ошибки 1064.

<style type="text/css">
  .tg {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0px auto;
  }
  
  .tg td {
    font-family: Arial, sans-serif;
    font-size: 14px;
    padding: 10px 5px;
    border-style: solid;
    border-width: 1px;
    overflow: hidden;
    word-break: normal;
  }
  
  .tg th {
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 5px;
    border-style: solid;
    border-width: 1px;
    overflow: hidden;
    word-break: normal;
  }
  
  .tg .tg-yw4l {
    vertical-align: top
  }
</style>
<table class="tg">
  <tr>
    <th class="tg-031e">meta_id</th>
    <th class="tg-yw4l">post_id</th>
    <th class="tg-yw4l">meta_key</th>
    <th class="tg-yw4l">meta_value</th>
  </tr>
  <tr>
    <td class="tg-yw4l">403723</td>
    <td class="tg-yw4l">131871</td>
    <td class="tg-yw4l">_EventStartDate</td>
    <td class="tg-yw4l">2017-01-23,00:00:00</td>
  </tr>
  <tr>
    <td class="tg-yw4l">404269</td>
    <td class="tg-yw4l">131881</td>
    <td class="tg-yw4l">_EventStartDate</td>
    <td class="tg-yw4l">2017-01-03 00:00:00</td>
  </tr>
  <tr>
    <td class="tg-yw4l">404485</td>
    <td class="tg-yw4l">131883</td>
    <td class="tg-yw4l">_EventStartDate</td>
    <td class="tg-yw4l">2017-01-03 00:00:00</td>
  </tr>
  <tr>
    <td class="tg-yw4l">405271</td>
    <td class="tg-yw4l">131885</td>
    <td class="tg-yw4l">_EventStartDate</td>
    <td class="tg-yw4l">2017-12-20 00:00:00</td>
  </tr>
</table>
meta_id post_id meta_key meta_value

403723  131871  _EventStartDate 2017-01-23 00:00:00
404269  131881  _EventStartDate 2017-01-03 00:00:00
404485  131883  _EventStartDate 2017-01-03 00:00:00
405271  131885  _EventStartDate 2017-12-20 00:00:00
404695  131887  _EventStartDate 2017-01-04 00:00:00

Я просто хочу изменить только 2017 год до 2018 года, как я могу это сделать.

Теги:

3 ответа

0
Лучший ответ

Этот запрос работает нормально, и он выполнил мое требование

UPDATE kanaja_wp.kanaja_postmeta
SET meta_value = DATE_ADD(meta_value, INTERVAL 1 YEAR)
WHERE meta_key="_EventEndDateUTC";

Он работает для всех имен строк как для начала, так и для даты окончания.

Спасибо за ответы :)

0

Просто попробуйте с запросом mysql:

 UPDATE kanaja_wp.kanaja_postmeta SET meta_value = DATE_ADD('2017-01-23 00:00:00', INTERVAL 1 YEAR) **WHERE ID =1**

Но убедитесь, что вы добавляете правильное условие.

0

Я использовал две функции mysql в сочетании друг с другом. Один, чтобы превратить ваш конкретный формат даты в временную метку unix и одну функцию, чтобы вернуть правильное дата-время после добавления к нему года. Вот пример того, как добавить один год к дате

SELECT
  FROM_UNIXTIME(
    UNIX_TIMESTAMP('2017-01-23 00:00:00') + (60 * 60 * 24 * 365)
  )

Ещё вопросы

Сообщество Overcoder
Наверх
Меню