【mysql】时间字段设值为时间戳问题

本文通过链接深入探讨了前端HTML/CSS/JavaScript与React/Angular等框架的实践,同时涵盖了后端PHP/Java与Spring框架的最佳实践,不容错过的技术分享。

相关博客链接:

在这里插入图片描述

https://www.cnblogs.com/tommy-huang/p/9365128.html
https://blog.youkuaiyun.com/weter_drop/article/details/89924451
https://unclewang.blog.youkuaiyun.com/article/details/108895635

### 在 MySQL字段默认为当前时间戳的方法 在 MySQL 中,可以使用 `CURRENT_TIMESTAMP` 或其他时间戳相关函数来字段的默认。以下是一个详细的说明和示例代码。 #### 使用 `CURRENT_TIMESTAMP` 置默认 通过将字段的数据类型定义为 `TIMESTAMP` 或 `DATETIME`,可以置其默认为当前时间戳。以下是创建表时的示例: ```sql CREATE TABLE example_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ); ``` 在此示例中,`created_at` 字段置为默认为当前时间戳[^1]。`updated_at` 字段不仅置了默认为当前时间戳,还通过 `ON UPDATE CURRENT_TIMESTAMP` 实现了在每次更新记录时自动更新为当前时间戳的功能。 #### 修改现有表以添加默认 如果需要对现有表进行修改以添加默认为当前时间戳字段,可以使用以下语句: ```sql ALTER TABLE example_table ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'; ``` 此外,如果需要更改现有字段的默认为当前时间戳,可以执行以下操作: ```sql ALTER TABLE example_table MODIFY COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'; ``` #### 注意事项 - 如果 MySQL 的 SQL 模式包含 `NO_ZERO_DATE` 或 `NO_ZERO_IN_DATE`,插入或更新时可能会遇到无效日期的问题。确保 SQL 模式配置符合需求[^2]。 - `TIMESTAMP` 和 `DATETIME` 数据类型的区别在于存储方式和范围。`TIMESTAMP` 存储的是 UTC 时间,并且占用 4 个字节,而 `DATETIME` 存储本地时间,占用 8 个字节。 ```sql -- 示例:创建一个带有 DATETIME 默认字段 CREATE TABLE another_example_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值