MySQLI每天做一个独特的变量复位

问题描述:

如何在每天重置的表中创建一个唯一的变量?MySQLI每天做一个独特的变量复位

换句话说,当一天结束时,唯一变量再次从0开始。

假设您的MySQL版本支持这些,您可能可以通过简单的触发器获得所需的结果。考虑表:

id ephem value1 value2 
1 1412 this that 
2 2317 the  other 
(&c.) 

在这个例子中,ephem是因为秒的时间午夜行创建的数量,这显然将在每天午夜重置为零。您可以使用下面的触发,如预期在哪里我测试了它MySQL的66年5月1日实例,它的工作自动设置在行创建时该值:

CREATE TRIGGER set_ephemeral_day_value 
    BEFORE INSERT ON table 
    FOR EACH ROW 
    SET new.ephem = CAST(MOD(UNIX_TIMESTAMP(), 86400) AS UNSIGNED INTEGER); 
+0

我以为会有这样的更直接的方式,但这也解决了我的问题,谢谢。 – Debels

+0

@Debels不是真的; MySQL只接受常量值,而不是表达式,作为列的默认值。很高兴有帮助! –