我的網站用的是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函數吧,看一下協助,找一下你那個版本裡有哪些日期函數,有很多函數可以達到目的
--------------------------------------------------------------------------------------