MySQL是世界上最流行的開源關系型數據庫管理系統,其中一個重要的數據類型是timestamp,表示時間戳。
timestamp類型可以存儲自1970年1月1日以來的秒數,范圍為1970-01-01 00:00:01到2038-01-19 03:14:07。
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在MySQL中,可以使用UNIX_TIMESTAMP函數將timestamp類型的值轉換為UNIX時間戳。
SELECT UNIX_TIMESTAMP(created) AS created_unix FROM mytable;
當使用timestamp類型更新或插入數據時,MySQL會自動將其轉換為本地時間。可以通過設置時區來避免時間轉換問題。
SET time_zone = '+8:00'; INSERT INTO mytable (created) VALUES ('2022-01-01 00:00:00');
值得注意的是,timestamp類型只能存儲到秒級別,如果需要存儲更精確的時間,可以使用datetime類型。
ALTER TABLE mytable MODIFY created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP;
總的來說,MySQL提供了強大的處理timestamp類型的支持,開發者可以輕松地存儲和操作時間戳類型的數據。