練習のためにECサイトを作成しています。
・商品登録時に「登録日時カラム」に現在日時を取得して入れたい。
・データ修正時に「更新日カラム」に、他のカラムに手を加えると、
自動的に更新時間が上書きされるようにしたいと思っています。
テーブルはとりあえず下記の様にしてみました。
カラム名、型
regst_time datetime
edit_time timestamp
PHPではどのように書いたらいいでしょうか?
MySQLのTIMESTAMP型は、元々、自動的に格納、更新の日時を設定する性質を持っています。
<表定義例>
create table tbl1 (id int primary key, regst_time datetime, edit_time timestamp, data varchar(10))
<格納>
insert into tbl1 values(1,current_timestamp,null,'a')
current_timestampを値として指定することで、現在の日時を格納できます。
<更新>
update tbl1 set data='b' where id=1
timestamp型の列が1個しかなければ、その列に対して何もしないで、自動的に日時が設定されます。
MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 10.3.1 DATETIME、DATE、そして TIMESTAMP タイプ
解決できました!ありがとうございます!
とかいろいろ入れて、
エラー地獄から抜け出せなかったので、助かりました!
※後々の自分&参考にしている他の方のため
1292: Incorrect datetime value: 'current_timestamp' for column 'regst_time' at row 1
となってしまった場合は、'シングルクォーテーションがいらない。