有没有一种方法可以在下一行中将时间戳添加一秒?

时间:2020-01-01 18:27:04

标签: mysql sql

我将时间戳记定义为默认开始时间:

CREATE TABLE testTABLE(
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    TS TIMESTAMP not null DEFAULT '1998-01-01 00:00:00')

从现在开始,我需要每隔一秒钟 我的意思是ts的数据将是:

1998-01-01 00:00:00
1998-01-01 00:00:01
1998-01-01 00:00:02
etc.

我该怎么办?

2 个答案:

答案 0 :(得分:0)

如果TS是timestamp列,并且您需要它是唯一的,为什么不只使用default作为NOW()。您更新后的CREATE TABLE语句为-

CREATE TABLE testTABLE(
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    TS TIMESTAMP not null DEFAULT NOW());

答案 1 :(得分:0)

触发器应该做到

CREATE TRIGGER MyTrigger AFTER INSERT ON testTABLE
FOR EACH ROW BEGIN
  SET NEW.TS = SELECT MAX(TS) + INTERVAL 1 SECOND FROM testTABLE;
END

它的作用:在表中插入一行后,它将表中的MAX(TS)加上1秒,然后将此值分配给当前插入行的TS。 / p>