插入后 24 小时删除记录

2021-09-10 00:00:00 sql tsql sql-server

有没有办法在 Transact-SQL 中创建行 24 小时后自动删除行?

Is there a way to automatically delete a row 24 hours after its creation in Transact-SQL?

我正在制作一个网站(学习体验),用户在注册后需要单击通过电子邮件发送的验证链接.我希望用户在 24 小时内验证自己.

I'm making a site (learning experience) where the user needs to click a validation link sent by e-mail once they register. I want the users to validate themselves within 24 hours.

我想我需要的是触发器,但我真的不确定语法,甚至不确定是否可能.

I suppose what I'd need is a trigger, but I'm really not sure on the syntax, nor if it is even possible.

推荐答案

我不确定您的架构,但我会采用不同的方式.我将针对与验证链接相对应的数据库记录有一个日期/时间.当他们单击该链接时,请验证数据库记录的日期和时间是否在当前时间的 24 小时内.如果是,则允许,否则拒绝.

I'm not sure of your schema but I would do it a different way. I would have a date/time against the database record that corresponds to the validation link. When they click the link, verify that the date and time of the database record is within 24 hours of the current time. If so, allow it, otherwise reject it.

相关文章