所以我有一个关于在phpmyadmin中在mysql表中添加行的计时的问题。这些是有问题的表格:
/*==============================================================*/
/* Table: Contribution */
/*==============================================================*/
create table Contribution
(
ContributionID int not null auto_increment,
CreatedByUserId int not null,
StoryID int not null,
PreviousCID int,
NextCID int,
OriginalCID int,
Content longblob not null,
CreatedDate datetime not null DEFAULT CURRENT_TIMESTAMP,
primary key (ContributionID)
);
/*==============================================================*/
/* Table: ContributionState */
/*==============================================================*/
create table ContributionState
(
ContributionStateID int not null auto_increment,
Title national varchar(100) not null,
DisplayOrder int not null,
primary key (ContributionStateID)
);
INSERT INTO ContributionState(ContributionStateID,Title,DisplayOrder)
VALUES (1,N'Vote up',1),
(2,N'Vote Down',2),
(3,N'Vulgar',3),
(4,N'Spam',4),
(5,N'Accepted',5),
(6,N'Rejected',6),
(7,N'Live',7),
(8,N'Deleted',8);
/*==============================================================*/
/* Table: Contribution_States */
/*==============================================================*/
create table Contribution_States
(
Contribution_StatesID int not null auto_increment,
ContributionStateID int not null,
ContributionID int not null,//derived from contribution table
UserID int not null,
CreatedDate datetime not null DEFAULT CURRENT_TIMESTAMP,
primary key (Contribution_StatesID)
);
所以,我有一个php文件来添加一个新的贡献,它会在贡献表中添加一个新行,并相应地在Contribution_States表中添加一个新行。添加时,它们的默认ContributionStateID为5表示它们被接受,用户可以开始/反对它们,但是为了生效(7)或拒绝(6),用户将在某个分配的时间内投票,之后他们会不能投票。我想在一段时间内给用户投票(在这种情况下为了现在的测试需要5分钟),但我不知道在哪里添加它。
提前致谢。
答案 0 :(得分:0)
您可以添加时间戳列' voteExpires'设置为当前时间戳加5分钟。这可以使用插入触发器来完成。