PHP:INSERT資料時,由MySQL自動寫入當前日期時間

在 INSERT 資料時,讓 MySQL 自動將當前的日期時間寫入,如下圖:

觀察資料表結構

類型選擇 TIMESTAMP ( 時間戳 )

預設選擇 CURRENT_TIME ( 當前時間 )

屬性選擇 on update CURRENT_TIMESTAMP ( 當新增資料時使用當前時間戳 )

接受空值,可改為不接受

如此一下,在 PHP 程式中,不再需要去抓取目前時間,直接新增資料即可,寫入的時間 MySQL 會自行處理。

$dbh = Dbo::getInstance()->get_dbh();
$sql = sprintf("INSERT INTO `manage_template`(manage_template_name,manage_template_value) VALUES(?,?)");
$sth = $dbh->prepare($sql);
$sth->bindValue(1,$add_template_name,PDO::PARAM_STR);
$sth->bindValue(2,$template,PDO::PARAM_STR);
$sth->execute();

注意!屬性為 on update CURRENT TIMESTAMP,意思為當你「修改」這筆資料時,日期時間也會重新被寫入!

所以若是要記錄「建立」的時間,可以使用。

若是有可能會去 update 某筆資料,而不想更動原先的「建立」時間,則不要將屬性設為 on update CURRENT TIMESTAMP,改由程式抓取並寫入。