gmdate() equivalent for mysql



我正在尝试以这种方式更新一些大表:

<?php
   $tables = array("table1","table2","table3","table4","table5");
   foreach ($tables as $table) {
      $res = mysql_query("SELECT * FROM {$table}");
      while($row = mysql_fetch_array($res)){
        $data = $row['data'];
        $data = gmdate('Y-m-d H:i:s', strtotime($data));
        mysql_query("UPDATE {$table} SET data='$data' WHERE user_id='".$row['user_id']."'";);
      }     
   }
?>

每个表大约有 80.000 行,处理需要太多时间才能完成。如何使用 mysql 中 gmdate 的等效函数来解决这个问题?谢谢!:)

可以使用

MySQL 的 STR_TO_DATE 函数进行更新,在更新查询中使用这个函数。 试试这个

SELECT STR_TO_DATE("Fri, 23 Nov 2012 10:00:27 +0000", "%a, %d %b %Y %H:%i:%s +0000");

使用输出 OT STR_TO_DATE 并将其放入所需的格式。

可以使用以下单个更新查询

mysql_query('UPDATE {$table} SET data= STR_TO_DATE(YOURDATACOLUMN, "%a, %d %b %Y %H:%i:%s +0000"); WHERE user_id="'.$row['user_id'].'"';);

使用 select DATE_FORMAT(CURRENT_DATE(),'%Y-%m-%d') 以 Y-m-d 格式显示当前日期。

相关内容

  • 没有找到相关文章

最新更新