MySQL中可以使用NOW()函數(shù)來表示當(dāng)前時(shí)間,它會(huì)返回一個(gè)timestamp類型的值。
如果需要在插入或更新數(shù)據(jù)時(shí)將某個(gè)時(shí)間字段默認(rèn)為當(dāng)前時(shí)間,可以將字段類型設(shè)置為timestamp,并將默認(rèn)值設(shè)置為NOW()。
CREATE TABLE mytable ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), PRIMARY KEY (id) );
在這個(gè)例子中,創(chuàng)建表時(shí)給create_time字段設(shè)置了默認(rèn)值為NOW(),這樣在插入數(shù)據(jù)時(shí)如果沒有指定create_time字段的值,MySQL會(huì)自動(dòng)將其設(shè)置為當(dāng)前時(shí)間。
如果在需要設(shè)置默認(rèn)值的表中已經(jīng)存在數(shù)據(jù),可以使用ALTER TABLE語句來修改字段的默認(rèn)值:
ALTER TABLE mytable ALTER COLUMN create_time SET DEFAULT NOW();
這樣可以將所有之前沒有設(shè)置create_time字段值的記錄的create_time字段都自動(dòng)設(shè)置為當(dāng)前時(shí)間。