扬帆☆启航

1、企业网站建设、推广、维护 2、中小型企业、店铺的业务管理系统(人事、工资、销售、库存管理、会员管理、统计查询、发票管理、客户关系管理,售后服务管理,物资管理等) 3、中小型企业信息化解决方案

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

我的网站用的是mysql,有一个字段是“日期”,我想在我加入纪录时mysql就将该纪录的“日期”默认值设为当前日期,
试过timestamp,但默认是14位,也就是有年月日时分秒,我只想要年月日,怎么办?
------------------------------------------------------------------------------------
截取撒。截断成年月日
-------------------------------------------------------------------------------------- 有Date类型啊

select curdate()
-------------------------------------------------------------------------------------- 我是直接在mysqlcc里插入纪录的,不用mysql的命令,我希望我每插入一条记录,那条记录的日期就是当前日期,用curdate()可以做到吗?curdate()在mysqlcc里怎么用?
-------------------------------------------------------------------------------------- 呵呵 这么简单
截取 呵呵

-------------------------------------------------------------------------------------- mysql> select now();
mysql> select sysdate();
mysql> select curdate();
mysql> select current_date;
mysql> select curtime();
mysql> select current_time;

try and choose one you need
-------------------------------------------------------------------------------------- kevinliuu(@。@)
我是要设置mysql的默认值为当前日期,而且用的是mysqlcc
-------------------------------------------------------------------------------------- mysqlcc没用过

不管怎么样,你不是通过sql语句插入数据吗? 如果是那就能够解决了

insert into talbe(ddate) values( select now()) ;
-------------------------------------------------------------------------------------- select date(date1) from test
-------------------------------------------------------------------------------------- 如果是通过sql语句那我会,
我现在用mysqlcc图形界面,就像在access里一样,点右键/插入纪录,问题是mysql每个字段都会有一个默认值,而且是0000-00-00,我想让这个默认值是当前日期
-------------------------------------------------------------------------------------- impossible
-------------------------------------------------------------------------------------- 可是timestamp就能做到,呵呵
但是timestamp有时分秒,我不知道如何截取成为只有年月日
-------------------------------------------------------------------------------------- 你是想在建表时用default吧!
-------------------------------------------------------------------------------------- to chouy(chouy)

是的,有方法吗
-------------------------------------------------------------------------------------- The DEFAULT clause specifies a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE. The exception is that you can specify CURRENT_TIMESTAMP as the default for a TIMESTAMP column. See Section 11.3.1.1, “TIMESTAMP Properties as of mysql 4.1”.

If a column definition includes no explicit DEFAULT value, mysql determines the default value as described in Section 11.1.4, “Data Type Default Values”.

BLOB and TEXT columns cannot be assigned a default value.

以上是从mysql的官方网站上抄来的!你看看,一定有用!
-------------------------------------------------------------------------------------- o yeah
-------------------------------------------------------------------------------------- to chouy(chouy)
不识英文,能给汉语吗?
-------------------------------------------------------------------------------------- 以上的大致意思是:

Defalut子句里指定的值必须是常量,不能是一个函数;但有一个例外,就是timestamp类型可以指定默认值为current_timestamp.

我想你的date类型是不能指定你需求的那样的默认值的.
只好在insert into 中用函数了.我想这在编程中应该也不费太大劲儿吧.
-------------------------------------------------------------------------------------- 就是说除了Timestamp能够作为默认值之外,所有其他的函数都不能做为插入数据库的默认值
-------------------------------------------------------------------------------------- 回kevinliuu(@。@) ( ) 信誉:107
-------------------------------------
是只有列的数据类型为 timestamp 时, 才可以指定 default 值为 current_timestamp.
举个例子:
CREATE TABLE `event` (
`something` char(20),
`time` timestamp default CURRENT_TIMESTAMP
)

这个语句在插入一条数据时可以用:
insert into event(something) values('thing1');

插入后的结果:
+-----------+---------------------+
| something | time |
+-----------+---------------------+
| thing1 | 2006-06-29 15:32:40 |
+-----------+---------------------+
-------------------------------------------------------------------------------------- 只要取时间的时候转换一下就可以了

select something,date(time) from event
-------------------------------------------------------------------------------------- to chouy(chouy)
既然这样,那就只能将timestamp字段截取了,mysql默认是timestamp(14),可是怎么截取前8位呢?
好像从mysql4.0开始就没有timestamp(8)了
-------------------------------------------------------------------------------------- to dreamover(梦醒了)

只要取时间的时候转换一下就可以了

select something,date(time) from event

我在jsp里写select 字段1,..字段二,date(time) from 表1 就出错,我的日期字段名就是"date"


-------------------------------------------------------------------------------------- 试一下

select date(`date`) from table1

`是esc下面那个键的输入符号

字段名最好不要用关键字,像date,char,int这样的名称
-------------------------------------------------------------------------------------- to dreamover(梦醒了)
还是不行..
字段名也改了
-------------------------------------------------------------------------------------- 你用的mysql版本号是多少?

可能里面没有date函数吧,看一下帮助,找一下你那个版本里有哪些日期函数,有很多函数可以达到目的


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cchaha/archive/2007/03/29/1544702.aspx

posted on 2009-06-15 08:59  赵晓雷  阅读(1582)  评论(0编辑  收藏  举报