mysql 设置默认的时间值
时间:2024-01-18 02:49:46
所以以
create_time datetime default now()
的形式设置默认值是不可能的。
代替的方案是使用TIMESTAMP类型代替DATETIME类型。
CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段不会改变。
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段将会改变。即时间变为了更新时候的时间。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)如果有多个TIMESTAMP列,只有第一个自动更新。
TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。
如果有多个TIMESTAMP列,只有第一个自动更新。
自动更新第一个TIMESTAMP列在下列任何条件下发生:
列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)
你明确地设定TIMESTAMP列为NULL.
除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。
另外在5.0以上版本中也可以使用trigger来实现此功能。
create table test_time (
id int(11),
create_time datetime
);
delimiter |
create trigger default_datetime before insert on test_time
for each row
if new.create_time is null then
set new.create_time = now();
end if;|
delimiter ;
标签:mysql,默认,时间值
0
投稿
猜你喜欢
python判断windows隐藏文件的方法
2021-03-30 10:30:21
使用python实现两数之和的画解算法
2022-01-04 21:06:05
Vue使用Element-UI生成并展示表头序号的方法
2024-06-05 10:04:27
python3 使用ssh隧道连接mysql的操作
2023-09-01 19:15:11
linux 部署apache服务的步骤
2022-11-28 02:59:16
详尽讲述用Python的Django框架测试驱动开发的教程
2023-04-21 18:28:19
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2022-04-17 13:47:18
DRF使用simple JWT身份验证的实现
2022-01-14 12:09:00
通过定位控制信息列表下往上的增加
2008-06-30 14:27:00
alt键 chr码值对应列表查看方法
2022-02-21 06:41:33
sqlserver 2008手工修改表结构,表不能保存的问题与解决方法
2024-01-23 03:07:26
Python实现求两个数组交集的方法示例
2023-08-03 18:57:58
python正则表达式匹配IP代码实例
2022-01-03 00:25:52
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2023-07-20 01:31:20
pandas 读取各种格式文件的方法
2023-12-14 22:08:59
Python中defaultdict与dict的差异详情
2023-10-02 19:39:29
Python动态加载模块的3种方法
2023-12-22 21:33:29
SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
2012-05-22 18:38:49
Python input函数使用实例解析
2022-01-05 21:00:34
后工业时代的后规范思考
2009-06-03 20:30:00