我将时间戳记定义为默认开始时间:
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.
我该怎么办?
答案 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>