mysql 创建表时 日期字段默认值为当前时间
mysql version 5.1
在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把默认值设为getdate()即可,我在网上查了N久都没有查到使用有效的方法,最后自己研究了一些方法与大家分享:
数据库:test_db1
创建表:test_ta1
两个字段:id (自增 且为主键),
createtime 创建日期(默认值为当前时间)
方法一、是用alert table语句:
use test_db1;
create table test_ta1(
id mediumint(8) unsigned not nulll auto_increment,
createtime datetime,
primary key (id)
)engine=innodb default charset=gbk;
alert table test_ta1 change createtime createtime timestamp not null default now();
方法二、直接创建方便:
use test_db1;
create table test_ta1(
id mediumint(8) unsigned not nulll auto_increment,
createtime timestamp not null default current_timestamp,
primary key (id)
)engine=innodb default charset=gbk;
相关文档:
为了让用户不需要自己运行mysql安装程序安装mysql数据库,软件发布时需要打包免安装版本的mysql。从mysql官网上直接下载的免安装版本需要各种配置,如果配置不好,很容易产生各种各样的问题。尤其是错误码为1067的问题,我试验了网上的很多方法都没起作用,最后想了一个最简单的方法:
(1)首先使用安 ......
# tar -zxvf mysql-5.0.45.tar.gz -C /usr/src/
# cd /usr/src/mysql-5.0.45
# ./configure --prefix=/usr/local/mysql --with-charset=gbk
--localstatedir=/usr/local/mysql/data
# make
# make install
# groupadd mysql
# useradd mysql -g mysql
# cd /usr/local/mysql/bin
# ./mysql_install_db --user=mys ......
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,v ......
来源 http://e-xia.com/2009/06/rownum-in-mysql/
在工作中碰到这样的问题,在生成报表时第一列要输出top 1, top 2, ... , top 10。而mysql并不自带这样的功能。假设我们有这样的一个表:
mysql> create table tbl (
-> id int primary key,
-> col int
-> );
Query OK, 0 ......