我无法在上次更新的列中更新当前时间(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/