php - 如何更新基本上具有年份的表列之一,我只需要增量更新

标签 php html mysql sql

我的表名称是 kanaja_postmeta,我有大约 1000 行,我想将 meta_value 列值从 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 年,我该怎么做。

最佳答案

我结合使用了两个mysql函数。一个将您的特定日期格式转换为 unix 时间戳,一个函数在添加一年后返回正确的日期时间。 以下是如何向日期时间添加一年的示例

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

关于php - 如何更新基本上具有年份的表列之一,我只需要增量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47792730/

相关文章:

php - 将 laravel remember_token 字段更改为其他内容

php - 复制(更新)同一张表中的某些内容

javascript - 如何使用 jQuery 增加索引值

php - 提取知识图谱数据结构之间的联系

mysql - 缺少/var/lib/mysql/mysql.sock 文件

mysql - SQL-Joining Column values = Column Name 上的两个表

php - 从 PHP 脚本运行 bash 脚本

php多变量验证

javascript - 如何以编程方式更改 &lt;input type ="range"... 的值?

html - 一行中的 Bootstrap 按钮