简体   繁体   English

用于设置默认日期的MySQL语法

[英]MySQL Syntax for setting Default Date

How can we set element to some default date in mysql ? 我们如何在mysql中将元素设置为某个默认日期?

  • In oracle we would do something like 在oracle我们会做类似的事情

    start_date DATE DEFAULT to__date('01011900','DDMMYYYY') start_date DATE DEFAULT to__date('01011900','DDMMYYYY')

    mutation_date_time DATE DEFAULT SYSDATE mutation_date_time DATE DEFAULT SYSDATE

    CONSTRAINT entity_specification UNIQUE(external_name, start_date_time, end_date_time)) CONSTRAINT entity_specification UNIQUE(external_name,start_date_time,end_date_time))

Also do we have any site or resource where we can get MySQL equivalent syntax to Oracle Syntax. 我们还有任何网站或资源,我们可以获得MySQL语法的MySQL等效语法。

Update 更新

I tried to do as mentioned in answer but again am getting error message: 我尝试按照回答中提到的那样做,但我再次收到错误消息:

    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>

只需传递一个格式化的字符串。

start_date DATE DEFAULT '1900-01-01'

For a fixed default date on a DATE field, the format is 'YYYY-MM-DD', like start_date DATE DEFAULT '2009-10-30' . 对于DATE字段中的固定默认日期,格式为'YYYY-MM-DD',如start_date DATE DEFAULT '2009-10-30' DATETIME would be 'YYYY-MM-DD HH:MM:SS'. DATETIME将是'YYYY-MM-DD HH:MM:SS'。

For a dynamic date based on the current date, you can use DEFAULT CURRENT_TIMESTAMP if you are using a TIMESTAMP field; 对于基于当前日期的动态日期,如果使用TIMESTAMP字段,则可以使用DEFAULT CURRENT_TIMESTAMP; otherwise, it is not possible to use a function as a DEFAULT in MySQL. 否则,在MySQL中无法使用函数作为DEFAULT。 TIMESTAMP fields are formatted as 'YYYY-MM-DD HH:MM:SS'. TIMESTAMP字段格式为'YYYY-MM-DD HH:MM:SS'。 Otherwise, you'd have to get the current date in your code before inserting the data. 否则,在插入数据之前,您必须在代码中获取当前日期。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM