Имя моей таблицы - 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 года, как я могу это сделать.
Этот запрос работает нормально, и он выполнил мое требование
UPDATE kanaja_wp.kanaja_postmeta
SET meta_value = DATE_ADD(meta_value, INTERVAL 1 YEAR)
WHERE meta_key="_EventEndDateUTC";
Он работает для всех имен строк как для начала, так и для даты окончания.
Спасибо за ответы :)
Просто попробуйте с запросом mysql:
UPDATE kanaja_wp.kanaja_postmeta SET meta_value = DATE_ADD('2017-01-23 00:00:00', INTERVAL 1 YEAR) **WHERE ID =1**
Но убедитесь, что вы добавляете правильное условие.
Я использовал две функции mysql в сочетании друг с другом. Один, чтобы превратить ваш конкретный формат даты в временную метку unix и одну функцию, чтобы вернуть правильное дата-время после добавления к нему года. Вот пример того, как добавить один год к дате
SELECT
FROM_UNIXTIME(
UNIX_TIMESTAMP('2017-01-23 00:00:00') + (60 * 60 * 24 * 365)
)