簡體   English   中英

使用INSERT OR REPLACE時MYSQL ON UPDATE CURRENT_TIMESTAMP不更新?

[英]MYSQL ON UPDATE CURRENT_TIMESTAMP not updating when using INSERT OR REPLACE?

我無法在last_updated cloumn中更新當前時間( 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');

我想ignore last_updated cloumn值'2013-02-07 07:06:05'即使我在查詢中指定並replace with NOW()replace with NOW()為last_updated cloumn。

我試過這個,但它對我不起作用。

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表插入主表。

在查詢中未發送值時使用默認值,現在在查詢中使用而不是時間戳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM