在MySQL中,CURRENT_TIMESTAMP
是一個函數,用于返回當前的日期和時間。在觸發器(trigger)中使用 CURRENT_TIMESTAMP
可以在特定的數據庫操作(如插入、更新或刪除)時自動記錄時間戳。
以下是一個簡單的示例,說明如何在MySQL觸發器中使用 CURRENT_TIMESTAMP
:
created_at
列的表,用于存儲記錄的創建時間:CREATE TABLE example_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
在這個例子中,created_at
列將自動設置為當前的時間戳,因為我們在列定義中使用了 DEFAULT CURRENT_TIMESTAMP
。
example_table
時自動將 updated_at
列設置為當前的時間戳:DELIMITER //
CREATE TRIGGER example_table_before_insert
BEFORE INSERT ON example_table
FOR EACH ROW
BEGIN
SET NEW.updated_at = CURRENT_TIMESTAMP;
END;
//
DELIMITER ;
在這個例子中,我們創建了一個名為 example_table_before_insert
的觸發器,它會在插入新記錄之前執行。在觸發器的 BEGIN
和 END
之間,我們使用 SET
語句將 NEW.updated_at
列設置為當前的 CURRENT_TIMESTAMP
。
現在,當你向 example_table
插入新記錄時,created_at
和 updated_at
列都將自動設置為當前的時間戳:
INSERT INTO example_table (name) VALUES ('John Doe');
這將插入一條新記錄,其中 created_at
和 updated_at
列的值都是當前的時間戳。