2009-10-30 37 views
1

如何將元素設置爲mysql中的某個默認日期?用於設置默認日期的MySQL語法

  • 在oracle中,我們會做一些這樣

    起始日期DATE DEFAULT to__date( '01011900', 'DDMMYYYY')

    mutation_date_time DATE DEFAULT SYSDATE

    約束entity_specification UNIQUE(EXTERNAL_NAME,START_DATE_TIME ,end_date_time))

我們也有任何網站或資源,我們可以獲得Oracle語法的MySQL等效語法。

更新

我試圖在答覆中提到,但再次我得到錯誤信息辦:

create table product_offer_type(object_id INT(19), snapshot_id INT(19), PRIMARY KEY(object_id,snapshot_id), enum_value VARCHAR(64) NOT NULL, external_name VARCHAR(64) NOT NULL, description VARCHAR(255), business_validation INT(1), valid_for_start_date_time DATE DEFAULT '1900-01-10', valid_for_end_date_timeDATE DEFAULT '4712-01-01', mutation_date_time DATE DEFAULT 'SYSDATE()', mutation_user VARCHAR(32) DEFAULT 'USER'); 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT '4712-01-01', mutation_date_time DATE DEFAULT 'SYSDATE()', mutation_user' at line 1 
mysql> 
+0

您錯過了「valid_for_end_date_timeDATE」空間。 – Jason 2009-10-31 05:40:43

回答

2

簡單的傳入的格式化字符串。

start_date DATE DEFAULT '1900-01-01' 
2

有關日期字段的固定默認日期,格式爲 'YYYY-MM-DD',像start_date DATE DEFAULT '2009-10-30'。 DATETIME將是'YYYY-MM-DD HH:MM:SS'。

對於基於當前日期的動態日期,如果您使用的是TIMESTAMP字段,則可以使用DEFAULT CURRENT_TIMESTAMP;否則,在MySQL中不可能使用函數作爲DEFAULT。 TIMESTAMP字段的格式爲'YYYY-MM-DD HH:MM:SS'。否則,在插入數據之前,您必須在代碼中獲取當前日期。