浏览 1767 次
锁定老帖子 主题:基础知识一大堆之一:mysql方面
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-26
最后修改:2011-08-26
最近遇到一些基础知识,发现快忘的差不多了,还得现写实验才能拿准。三年,就记不住了,还是整理一下吧。
先整理数据库之mysql方面的(mysql 5.1.47)。
1、关于column type 设置列的类别时,常常要制定长度,但是要注意,这个“长度”不一定跟“存储长度”有关。 其中,varchar、char等字符类型(找不出合适的叫法,就叫字符类型吧)跟“存储长度”有关,比如char(1)和char(200)的“存储长度”肯定是不一样的; 但是,int、bigint、smallint等数值类型就跟“存储长度”无关了,因为存储他们的字节数是一定的(三种各自都有各自的标准,不列了),那么,int(1)和int(50)的“存储长度”是一样的。问:既然这样,那问什么要指定呢?答:只是代表显示宽度。 2、mysql 设置 默认当前时间 有很多这样的需求,就是,当我向某表中插入一条数据时,不给createtime这个字段赋值,插入时,自动赋上当前时间的值。怎么做? 5.1.47这个版本目前只有一种形式:把列设置为 timestamp,并default current_timestamp,比如:
create table test ( id int not null auto increment primary key, createtime timestamp not null default current_timestamp );
这样就可以了。 但是,当你在一个表中设置两个timestamp列、并想把他们都设成“默认当前时间”时,你会发现有问题了,mysql会提示你:一个表中只能设置一个列为default current_timestamp。 没办法了英雄,只能设置一个了。。。
待续。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |