如何在mysql数据库中自动更新日期/时间?

时间:2014-09-09 04:19:07

标签: java mysql

我打算在java mysql中创建一个考勤系统,并且卡在日期和时间函数中。我的问题是我如何自动将日期插入我的数据库。我的表看起来像这样:

  Create table automatic
(
   `id` int(20) NOT NULL AUTO_INCREMENT,
   `name` varchar(500) NOT NULL,
   `class` varchar(255) NOT NULL,
   `remark` varchar(255) NOT NULL,//remarks suggest presnt or absent
   `date` datetime DEFAULT NULL,
    PRIMARY KEY (`id`)    
) ENGINE=InnoDB;

2 个答案:

答案 0 :(得分:1)

我希望您在将记录插入数据库时​​自动插入日期时间。使用DEFAULT CURRENT_TIMESTAMP

Create table automatic
(
   `id` int(20) NOT NULL AUTO_INCREMENT,
   `name` varchar(500) NOT NULL,
   `class` varchar(255) NOT NULL,
   `remark` varchar(255) NOT NULL,//remarks suggest presnt or absent
   `date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)    
) ENGINE=InnoDB;

答案 1 :(得分:0)

CURDATE()会返回当前日期。

你可以像这样使用它:

CREATE TABLE Orders
(
OrderId int NOT NULL,
ProductName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT CURDATE(),
PRIMARY KEY (OrderId)
)

如果想要跟踪客户的订单,许多购物网站会使用此功能。 同样,它有许多其他用途。

get more details here

CREATE TABLE dates
(
    id int NOT NULL,
    id_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);
INSERT INTO dates (id) VALUES (1);
SELECT id, DATE(id_date) AS id_date FROM dates;

id  id_date
1   2010-09-12