mysql插入当前日期,仅在插入时间内

时间:2014-09-04 06:40:56

标签: mysql sql

这是表结构,

id             int
name           varchar
insert_date    date
update_date    TIMESTAMP

现在这里的idia是, insert_date 将能够通过defult current time& update_date它将在每次编辑中插入当前时间或插入它将更新它。

所以我如何将(insert_date)默认值设置为当前时间和日期但是在更新时它不应该更改(insert_date)的值,如果我保持TIMESTAMP更新它将会改变。

insert_date - 插入当前时间,仅插入一次

问候

5 个答案:

答案 0 :(得分:2)

使用DEFAULT CURRENT_TIMESTAMP进行插入

使用ON UPDATE CURRENT_TIMESTAMP进行更新

如下所示

CREATE TABLE IF NOT EXISTS `datetest` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(100) NOT NULL,
      `timestamps_updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
      `timestamps_inserted` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' DEFAULT CURRENT_TIMESTAMP,

      PRIMARY KEY (`id`)
    ) 

答案 1 :(得分:1)

如果您想保留默认的当前日期&时间意味着,你想改变

insert_date data type date to datetime

插入

Insert into tbl(insert_date) values(now())

$date=date('Y-m-d H:i:s')

Insert into tbl(insert_date) values('$date')

阅读

How do you set a default value for a MySQL Datetime column?

答案 2 :(得分:1)

如果您只想添加时间..您需要使用

CURTIME()

如果您想要当前的日期和时间......

现在()

如果您只想要当前日期....

CURDATE()

了解更多信息..

以下SELECT语句: SELECT NOW(),CURDATE(),CURTIME()

将导致类似这样的事情: NOW()CURDATE()CURTIME() 2008-11-11 12:45:34 2008-11-11 12:45:34

根据需要选择格式。

答案 3 :(得分:0)

如果您要存储日期和时间,请使用DATETIME类型,您可以选择CURRENT_TIMESTAMP作为默认值,或使用NOW()获取当前日期和时间(yyyy-mm-dd小时:分钟:秒)。

答案 4 :(得分:-1)

您可以在相应的字段中使用NOW()功能