在MySQL中創(chuàng)建表時(shí),如果不指定時(shí)間字段的默認(rèn)值,將默認(rèn)設(shè)置為當(dāng)前時(shí)間。這個(gè)時(shí)間是指執(zhí)行“INSERT”操作時(shí)服務(wù)器的當(dāng)前時(shí)間,而不是客戶端的當(dāng)前時(shí)間。
如果要在創(chuàng)建表時(shí)將時(shí)間設(shè)置為默認(rèn)時(shí)間,可以在定義相應(yīng)字段時(shí)指定DEFAULT子句。以下示例演示了如何在創(chuàng)建表時(shí)使用DEFAULT子句將時(shí)間設(shè)置為默認(rèn)時(shí)間:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) );
在上述代碼示例中,“created_at”字段使用了DEFAULT子句,將其默認(rèn)值設(shè)置為CURRENT_TIMESTAMP。這意味著每次插入新記錄時(shí),“created_at”字段將自動(dòng)填充為當(dāng)前時(shí)間戳。
如果需要將當(dāng)前時(shí)間戳作為默認(rèn)值而不是日期時(shí)間值,可以使用UNIX_TIMESTAMP()函數(shù)。以下代碼示例演示了如何使用UNIX_TIMESTAMP()函數(shù)將時(shí)間戳設(shè)置為默認(rèn)時(shí)間:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), created_at TIMESTAMP DEFAULT FROM_UNIXTIME(UNIX_TIMESTAMP()), PRIMARY KEY (id) );
在上述代碼示例中,“created_at”字段使用了FROM_UNIXTIME()函數(shù)和UNIX_TIMESTAMP()函數(shù),將其默認(rèn)值設(shè)置為當(dāng)前時(shí)間戳。這意味著每次插入新記錄時(shí),“created_at”字段將自動(dòng)填充為當(dāng)前時(shí)間戳。