Mysql

及時鎖定數據庫

  • January 14, 2019

我目前正在使用 MySQL (5.7) 數據庫的轉儲來製作一些東西的原型,其中大部分數據都是時間相關的。我編寫的大多數查詢都使用該NOW()函式,並且隨著我們遠離進行轉儲的時間,結果會隨著時間而變化。

NOW()有沒有辦法將數據庫“及時鎖定”到轉儲時間,或者除了用硬編碼的時間戳替換所有引用之外,還有其他方法可以處理這種情況嗎?

您可以使用set timestamp <unix_epoch>which will make now()be fixed - 始終返回該值。見https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_timestamp

請注意,這不會影響sysdate(). 要修復 sysdate,您可以使用--sysdate-is-nowsysdate()返回與 相同的值的選項啟動 MySQL now(),因此sysdate()現在將修復上述問題。見 https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_sysdate-is-now

(來自 Oracle 世界的人將此參數稱為fixed_date。)

引用自:https://dba.stackexchange.com/questions/227086