mysql:如何更新或插入新行DAILY?

时间:2015-11-23 05:54:49

标签: mysql triggers

我的项目必须向用户显示3 rows,并且第二天早上会看到new 3 random rows

这是我的表..如何每天自动替换或插入新行

+--------+-----------+-----------------+-----------------+
| userID | userNAME  |     chaID       |     chaNAME     |
+--------+-----------+-----------------+-----------------+
|      1 | Jane      |          4      | Watering        |
|      2 | Cristian  |          3      | Early Sleeping  |
|      3 | Jumbo     |          12     | Playing sport   |
+--------+-----------+-----------------+-----------------+

我真的不知道要处理它......我应该触发吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

使用mysql Create event功能。请参阅我对One Here的回答。创建一个日常事件,并在BEGIN / END块中运行您想要的任何魔法。如删除和插入。

至于选择随机行,请查看

之类的内容
select col1, col2 
from otherTable
order by rand()
limit 3;  -- just 3 rows

要从另一个表中插入一个表(使用 random ),只需将insert和select组合成一个语句,例如

insert into myTable (col1,col2)
select col1, col2 
from otherTable
order by rand()
limit 3;

myTable无疑需要有userId等。这可以通过在用户表上执行cross join来为每个用户在一天内放置3个新行来执行。

insert into myTable (userId,col1,col2)
select u.userId,o.col1, o.col2 
from userTable u
cross join otherTable o
order by rand()
limit 3;

那么,只是给你一些东西。我知道你是新人。欢迎来到堆栈。