php - MYSQL ON UPDATE CURRENT_TIMESTAMP 在使用 INSERT 或 REPLACE 时不更新?

标签 php mysql sql timestamp

我无法在上次更新的列中更新当前时间(NOW)。

因为我已经从文本文件中读取了这个查询。

INSERT OR REPLACE INTO table_name (kb_corporate_guid,kb_user_guid,
                                   name,last_updated) 
VALUES ('100','121','FAQ','2013-02-07 07:06:05');

我想忽略 last_updated cloumn 值 '2013-02-07 07:06:05' 即使我在查询中指定并将 替换为 NOW() 值last_updated 列。

我试过这个,但它对我不起作用。

ALTER TABLE table_name
   CHANGE `last_updated` `last_updated`  timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP;

最佳答案

选项 1

您可以在插入/更新时创建触发器,它将使用 MySql NOW() 函数更新 last_updated 字段,它会覆盖字段值,但它可能会减慢进行批量插入/更新时的处理。

选项 2

从文本文件中查找并替换 last_updated 字段和时间戳值的文本。

选项 3

创建具有相同架构的临时表并导入到临时表中,然后使用 INSERT INTO main_table SELECT corp_id, user_id, name, NOW() FROM temp_table 表插入到主表中。

关于php - MYSQL ON UPDATE CURRENT_TIMESTAMP 在使用 INSERT 或 REPLACE 时不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14746473/

相关文章:

php - 使用保存在 session 中的 Url 变量预填充 Woocommerce 结帐字段

php - 在二维数组中搜索... php

php - 提交表单更新 MySQL 行后页面不刷新

php - xpath为波斯字符获取html

php - mysql 多对多关系

mysql - MySQL 对多列排序的重复问题

sql - 如何列出 SQL Server 表的主键?

mysql - 如何为此 SQL 查询创建索引?

javascript - NodeJS 中的 MySQL 不适用于 INSERT INTO 中的多个语句

c# - 为什么 LinqToEntities Skip/Take oracle 实现如此缓慢