ben*_*e89 4 php mysql timestamp
我正在做一个mysql表,我有一个列在更新时有当前时间戳.这很好,因为我可以确切地看到有人上传某些内容.但我不希望列在编辑上传时更改.是否最好坚持使用一个名为"创建日期"的列,并在更新时使用NO,或者使用"创建日期和修改日期"这两列,如果这样,列属性和PHP更新语句的最佳做法是什么?
我通常喜欢单独的"CreateDate"和"LastModifiedDate".
至于设置它,如果您可以将CreateDate列的默认值设置为,那将是很好的NOW(),但MySQL不允许这样做.
因此,最简单的选择是使用插入触发器来执行此操作:
CREATE TRIGGER tbl_insert BEFORE INSERT ON `tbl`
FOR EACH ROW SET NEW.CreateDate = NOW(), NEW.LastModifiedDate = NOW();
Run Code Online (Sandbox Code Playgroud)
ETA:
您也可以使用TIMESTAMP默认值为的字段CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMPLastModifiedDate 的约束.不幸的是,您不能TIMESTAMP在同一个表上有两个这样的列,因此触发器是处理CreateDate列所必需的.
| 归档时间: |
|
| 查看次数: |
4943 次 |
| 最近记录: |