MySQL數(shù)據(jù)庫中的填充字段是指在插入新記錄時(shí),自動為某些字段填充默認(rèn)值的功能。這些默認(rèn)值可以是常數(shù),也可以是由函數(shù)動態(tài)計(jì)算得出的值。使用填充字段可以提高數(shù)據(jù)錄入的效率,減少人為錯(cuò)誤,同時(shí)保證數(shù)據(jù)的完整性。
CREATE TABLE example ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP );
以上示例創(chuàng)建了一個(gè)名為example的表,包含id、name、create_time和update_time四個(gè)字段。其中id是自動遞增的主鍵,name是必填字段,而create_time和update_time則使用了填充字段功能。
create_time使用了默認(rèn)值CURRENT_TIMESTAMP,表示在插入新記錄時(shí),會自動將當(dāng)前的時(shí)間戳作為create_time的值填入。而update_time使用了ON UPDATE CURRENT_TIMESTAMP,在更新記錄時(shí),會自動將當(dāng)前的時(shí)間戳作為update_time的值填入。
INSERT INTO example (name) VALUES ('John');
以上示例向example表中插入了一條記錄,只填寫了必填字段name,而create_time和update_time會自動填充對應(yīng)的值。
值得注意的是,在MySQL 5.6及以下版本中,ON UPDATE CURRENT_TIMESTAMP只能應(yīng)用在TIMESTAMP類型的字段上。而在MySQL 5.7及以上版本中,也支持應(yīng)用在DATETIME類型的字段上。