2017-11-11 4 views

答えて

2

UTC_TIMESTAMP()関数

は、MySQLでは、UTC_TIMESTAMPは、現在のUTCの日付と時刻を返します。値はYYYY-MM-DD HH:MM:SSまたはYYYYMMDDHHMMSS.uuuuuuの形式で、関数の使用法、つまり文字列または数値の文脈に依存します。

注: UTC_TIMESTAMP()は現在の日時で動作するため、出力は表示されている出力と異なる場合があります。

構文:UTC_TIMESTAMP; UTC_TIMESTAMP()

コード:SELECT UTC_TIMESTAMP,UTC_TIMESTAMP();

サンプル出力:

mysql> SELECT UTC_TIMESTAMP,UTC_TIMESTAMP(); 
+---------------------+---------------------+ 
| UTC_TIMESTAMP  | UTC_TIMESTAMP()  | 
+---------------------+---------------------+ 
| 2015-04-14 22:52:11 | 2015-04-14 22:52:11 | 
+---------------------+---------------------+ 
1 row in set (0.01 sec) 
+0

ご回答いただきありがとうございます。 @Nehorai。 –

+0

created_at列にはtimestampデータ型があり、デフォルトではCURRENT_TIMESTAMPに設定され、システムの現在時刻を取得します。 データはUTC形式のAPIから取得され、created_atは現地時間になります。これは私の問題です。提案してください。 –

+0

解決策:APIはcreated_atフィールドに直接設定した作成日時を送信します。システムがCURRENT_TIMESTAMPを生成する必要はありません。提案してください!前もって感謝します。 –

1

私のソリューションは、トリガーである:

DELIMITER // 
CREATE TRIGGER `update_to_utc` BEFORE INSERT ON `my_table` FOR EACH ROW BEGIN 
set new.my_field=utc_timestamp(); 
END// 
DELIMITER ; 
関連する問題