TIMESTAMP列类型详解(怎样设列的默认值为Now())
来源:互联网 发布:软件如何注册 编辑:程序博客网 时间:2024/04/30 03:39
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
目前不支持列的Default为函数的形式,
如达到你某列的默认值为当前更新日期与时间的功能,
你可以使用TIMESTAMP列类型
下面就详细说明TIMESTAMP列类型
TIMESTAMP列类型
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
TIMESTAMP值显示尺寸的格式如下表所示:
:
+---------------+----------------+
|列类型 |显示格式 |
|TIMESTAMP(14)|YYYYMMDDHHMMSS|
|TIMESTAMP(12)|YYMMDDHHMMSS |
|TIMESTAMP(10)|YYMMDDHHMM |
|TIMESTAMP(8) |YYYYMMDD |
|TIMESTAMP(6) |YYMMDD |
|TIMESTAMP(4) |YYMM |
|TIMESTAMP(2) |YY |
+---------------+----------------+
“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸创造
最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
列如:
定义字段长度 强制字段长度
TIMESTAMP(0)-> TIMESTAMP(14)
TIMESTAMP(15)-> TIMESTAMP(14)
TIMESTAMP(1)-> TIMESTAMP(2)
TIMESTAMP(5)-> TIMESTAMP(6)
所有的TIMESTAMP列都有同样的存储大小,
使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。
不合法的日期,将会被强制为0存储
这有几个含意:
1、虽然你建表时定义了列TIMESTAMP(8),但在你进行数据插入与更新时TIMESTAMP列
实际上保存了14位的数据(包括年月日时分秒),
只不过在你进行查询时MySQL返回给你的是8位的年月日数据。
如果你使用ALTERTABLE拓宽一个狭窄的TIMESTAMP列,以前被“隐蔽”的信息将被显示。
2、同样,缩小一个TIMESTAMP列不会导致信息失去,除了感觉上值在显示时,较少的信息被显示出。
3、尽管TIMESTAMP值被存储为完整精度,直接操作存储值的唯一函数是UNIX_TIMESTAMP();
由于MySQL返回TIMESTAMP列的列值是进过格式化后的检索的值,
这意味着你可能不能使用某些函数来操作TIMESTAMP列(例如HOUR()或SECOND()),
除非TIMESTAMP值的相关部分被包含在格式化的值中。
例如,一个TIMESTAMP列只有被定义为TIMESTAMP(10)以上时,TIMESTAMP列的HH部分才会被显示,
因此在更短的TIMESTAMP值上使用HOUR()会产生一个不可预知的结果。
4、不合法TIMESTAMP值被变换到适当类型的“零”值(00000000000000)。(DATETIME,DATE亦然) 1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
TIMESTAMP列类型详解(怎样设列的默认值为Now())目前不支持列的Default为函数的形式,
如达到你某列的默认值为当前更新日期与时间的功能,
你可以使用TIMESTAMP列类型
下面就详细说明TIMESTAMP列类型
TIMESTAMP列类型
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
TIMESTAMP值显示尺寸的格式如下表所示:
:
+---------------+----------------+
|列类型 |显示格式 |
|TIMESTAMP(14)|YYYYMMDDHHMMSS|
|TIMESTAMP(12)|YYMMDDHHMMSS |
|TIMESTAMP(10)|YYMMDDHHMM |
|TIMESTAMP(8) |YYYYMMDD |
|TIMESTAMP(6) |YYMMDD |
|TIMESTAMP(4) |YYMM |
|TIMESTAMP(2) |YY |
+---------------+----------------+
“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸创造
最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
列如:
定义字段长度 强制字段长度
TIMESTAMP(0)-> TIMESTAMP(14)
TIMESTAMP(15)-> TIMESTAMP(14)
TIMESTAMP(1)-> TIMESTAMP(2)
TIMESTAMP(5)-> TIMESTAMP(6)
所有的TIMESTAMP列都有同样的存储大小,
使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。
不合法的日期,将会被强制为0存储
这有几个含意:
1、虽然你建表时定义了列TIMESTAMP(8),但在你进行数据插入与更新时TIMESTAMP列
实际上保存了14位的数据(包括年月日时分秒),
只不过在你进行查询时MySQL返回给你的是8位的年月日数据。
如果你使用ALTERTABLE拓宽一个狭窄的TIMESTAMP列,以前被“隐蔽”的信息将被显示。
2、同样,缩小一个TIMESTAMP列不会导致信息失去,除了感觉上值在显示时,较少的信息被显示出。
3、尽管TIMESTAMP值被存储为完整精度,直接操作存储值的唯一函数是UNIX_TIMESTAMP();
由于MySQL返回TIMESTAMP列的列值是进过格式化后的检索的值,
这意味着你可能不能使用某些函数来操作TIMESTAMP列(例如HOUR()或SECOND()),
除非TIMESTAMP值的相关部分被包含在格式化的值中。
例如,一个TIMESTAMP列只有被定义为TIMESTAMP(10)以上时,TIMESTAMP列的HH部分才会被显示,
因此在更短的TIMESTAMP值上使用HOUR()会产生一个不可预知的结果。
4、不合法TIMESTAMP值被变换到适当类型的“零”值(00000000000000)。(DATETIME,DATE亦然) 1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- TIMESTAMP列类型详解(怎样设列的默认值为Now())(转)
- TIMESTAMP列类型详解(怎样设列的默认值为Now())
- TIMESTAMP列类型详解( 怎样设列的默认值为Now() )
- TIMESTAMP列类型详解(怎样设列的默认值为Now())
- TIMESTAMP列类型详解(怎样设列的默认值为Now())
- 怎样设列的默认值为Now()
- MYSQL中怎样设列的默认值为Now()的介绍
- MYSQL中怎样设列的默认值为Now()的介绍
- MySQL的DATETIME, TIMESTAMP类型列的默认值
- SQL SERVER 2008添加删除列(新建列必须设默认值或为NULL)
- MYSQL设置列的默认值为Now()或者当前时间的介绍
- 设置DataGridView 列类型为 DataGridViewComboBoxColumn 的默认值
- SQL 新增列、删除列、改变列类型、添加列默认值、删除列默认值和获取列默认值的方法
- *TIMESTAMP列类型*
- 获取数据库所有列以及列的类型是否为空是否为默认值是否为主键
- 修改列的默认值
- mysql 为列设置默认值
- 解决mysql datetime 类型设置默认值的方法,即mysql TIMESTAMP(时间戳)详解
- 创建新
- 基于IMD的包过滤防火墙原理与实现
- 使用truss、strace或ltrace诊断软件的"疑难杂症"[转载]
- 返回字串的拼音首字母
- 获得当前进程所有者的信息
- TIMESTAMP列类型详解(怎样设列的默认值为Now())
- Direct3D极速入门宝典(一)
- 程序员必须走向专业化
- 参数传递的几种用法。
- Direct3D极速入门宝典(三)
- 多个DW同时更新,且表中有关系存在,需要注意的击点问题。
- [窗口重绘技术--虚拟窗口实现法]
- DW属性设置的总结
- [推荐]windows网络编程经典入门