MySQL中的year怎么⽤_MySQL中的YEAR函数⼀般这样认为 YEAR类型占⽤1个字节,并且在定义时可以指定显⽰的宽度为YEAR(4)或者YEAR(2),不过从MySQL5.6.6开始,YEAR(2)类型被⾃动装换为YEAR(4),YEAR(2)类型被禁⽤。
(⼀)YEAR(2)类型被⾃动装换为YEAR(4)
mysql>drop table if exists t;
Query OK,0 rows affected (0.01 sec)
mysql>create table t(a year(2));
Query OK,0 rows affected, 1 warning (0.00 sec)
mysql>show warnings\G;
***************************1. row ***************************
Level: Warning
Code: 1818
Message:YEAR(2) column type is deprecated. Creating YEAR(4) column instead.
1 row inset (0.00 sec)
ERROR:
No queryspecified
mysql>explain t;
+-------+---------+------+-----+---------+-------+
| Field |Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a    | year(4) | YES  |    |NULL    |      |
+-------+---------+------+-----+---------+-------+
1 row inset (0.00 sec)
mysql>insert into t select '14';
Query OK,1 row affected (0.00 sec)
Records:1  Duplicates: 0  Warnings: 0
mysql>select * from t;
+------+
| a    |
+------+
| 2014 |
+------+
1 row inset (0.00 sec)
mysql>
(⼆)存在当前表中的YEAR(2)类型仍旧作为YEAR(2)存在和处理,但是下⾯⼏种⽅式会⾃动转换为YEAR(4): (1)alter表
alter table语句与导致重建表:
mysql> alter table t modify a year(2);
Query OK, 0 rows affected, 1 warning (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 1
mysql> explain t;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a    | year(4) | YES  |    | NULL    |      |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> alter table t modify a year(2);
Query OK, 0 rows affected, 1 warning (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 1
mysql> show warnings;
+---------+------+---------------------------------------------------------------------+
| Level  | Code | Message                                                            |
+---------+------+---------------------------------------------------------------------+
| Warning | 1818 | YEAR(2) column type is deprecated. Creating YEAR(4) column instead. |
+---------+------+---------------------------------------------------------------------+
1 row in set (0.01 sec)
(2)PEAIR TABLE
如果check table时,数据库发现⼀张表中包含YEAR(2)列,就推荐使⽤YEAR(4)。
(3)mysql_upgrade
这个⽤于REPAIR TABLE的情况。
(4)在dump⽂件和重新装载dump⽂件时,被影响的数据值都会在dump和装载时存在潜在的影响。
>column函数怎么使用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。