我的项目必须向用户显示3 rows
,并且第二天早上会看到new 3 random rows
这是我的表..如何每天自动替换或插入新行
+--------+-----------+-----------------+-----------------+
| userID | userNAME | chaID | chaNAME |
+--------+-----------+-----------------+-----------------+
| 1 | Jane | 4 | Watering |
| 2 | Cristian | 3 | Early Sleeping |
| 3 | Jumbo | 12 | Playing sport |
+--------+-----------+-----------------+-----------------+
我真的不知道要处理它......我应该触发吗?
非常感谢
答案 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;
那么,只是给你一些东西。我知道你是新人。欢迎来到堆栈。