是否有任何可能的方法来存储当前时间只能通过phpmyadmin在mysql中

时间:2013-09-18 22:18:23

标签: php mysql database

我想将当前时间(例如00:30)存储在我的一个列中,默认CURRENT_TIMESTAMP给出了我不想要的日期和时间。

或者有没有办法只从CURRENT_TIMESTAMP ??

中检索时间

4 个答案:

答案 0 :(得分:1)

尝试合并TIME()NOW()

SELECT TIME(NOW());

输出:15:20:31

当然,您的列必须是“TIME”类型。

答案 1 :(得分:1)

您可以使用MySQL的内置TIME()函数来提取日期时间表达式的时间部分。例如:

mysql> select time(now());
+-------------+
| time(now()) |
+-------------+
| 18:21:38    |
+-------------+
1 row in set (0.03 sec)

由于CURRENT_TIMESTAMPNOW()的同义词,因此您只需使用TIME(CURRENT_TIMESTAMP)

答案 2 :(得分:0)

创建表格时,将列类型设置为TIME

答案 3 :(得分:0)

如果我理解你的问题,我认为你有一个时间戳列,其默认值为CURRENT_TIMESTAMP:

CREATE TABLE yourTable (
  ...,
  ...,
  currentTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

如果您只想存储当前时间而不是日期部分,可以使用TIME列和触发器,它将自动插入时间部分:

CREATE TABLE tableName (
  ...,
  ...,
  currentTime TIME
);

CREATE TRIGGER currentTime BEFORE INSERT ON tableName
FOR EACH ROW
  SET new.currentTime = TIME(NOW());

(例如here),您可能还想使用UPDATE触发器。或者您可以使用CURRENT_TIMESTAMP,并仅获取具有TIME函数的时间部分:

SELECT TIME(yourTimestampColumn)
FROM yourTable