MySQLI每天重置一个唯一的变量

MySQLI每天重置一个唯一的变量,mysqli,unique-key,Mysqli,Unique Key,如何每天重置表中的唯一变量 换句话说,当一天结束时,唯一变量再次从0开始。假设您的MySQL版本支持这些,您可能可以通过一个简单的触发器获得所需的结果。考虑表: id ephem value1 value2 1 1412 this that 2 2317 the other (&c.) 在本例中,ephem是自创建行时午夜起的秒数,显然每天午夜将重置为零。您可以在创建行时使用以下触发器自动设置该值,该触发器在我测试过的MySQL 5.1.66实例上按

如何每天重置表中的唯一变量


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

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

id  ephem  value1  value2
1   1412   this    that
2   2317   the     other
(&c.)
在本例中,
ephem
是自创建行时午夜起的秒数,显然每天午夜将重置为零。您可以在创建行时使用以下触发器自动设置该值,该触发器在我测试过的MySQL 5.1.66实例上按预期工作:

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

我原以为会有更直接的方法,但这也解决了我的问题,谢谢;MySQL只接受常量值,而不接受表达式作为列默认值。很高兴能帮上忙!