在MySQL中,一個經常需要的操作就是存儲時間戳。時間戳可以用于記錄某個事件的發生時間或者最后更新時間。下面是如何創建一個包含時間戳的MySQL表格。
CREATE TABLE example_table ( id INT NOT NULL AUTO_INCREMENT, data VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) );
在上述代碼中,我們使用了TIMESTAMP類型來存儲時間戳,并使用了DEFAULT關鍵字和相關函數來設置默認值。
created_at列用DEFAULT CURRENT_TIMESTAMP設置當前時間戳作為默認值。這意味著當我們插入一個新行時,created_at列將自動填充當前時間戳。
updated_at列的設置略有些復雜。我們使用了DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP兩個選項來完成該列的設置。默認情況下,updated_at將使用當前時間戳作為默認值。但是,當你更新任何行時,該列的值也將自動更新為當前時間戳。這使得我們能夠非常方便地記錄最后更新時間。
在創建表時,我們使用AUTO_INCREMENT關鍵字創建了一個自增的ID列來作為主鍵。在此之后,我們可以像平常一樣使用INSERT語句向表格中添加數據。例如:
INSERT INTO example_table (data) VALUES ('example data');
這將添加一行到我們的表格中,其中的created_at和updated_at列將自動被填充為當前時間戳。
總結一下,我們已經成功的創建一個MySQL表格,并在其中添加了兩個自動更新的時間戳列。這使得我們能夠方便地記錄每一個事件的發生與更改時間。