创建一个MySQL事件过程,每天为另一个表中的每个员工id向数据库中插入一条新记录

创建一个MySQL事件过程,每天为另一个表中的每个员工id向数据库中插入一条新记录,mysql,Mysql,你好 我有两个名为Users和mileagesnew users表具有唯一的id(主键),而users.id列在mileagesnew表中充当外键 用户表 里程数新表 我想创建一个MySQL事件,为Users表中的每个用户在mileagesnew表中插入一个新的里程记录 所以,我现在的MySQL触发器是 CREATE EVENT Daily_Mileage ON SCHEDULE EVERY 1 DAY STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1

你好

我有两个名为Usersmileagesnew

users表具有唯一的id(主键),而
users.id
列在mileagesnew表中充当外键

用户表

里程数新表

我想创建一个MySQL事件,为Users表中的每个用户在mileagesnew表中插入一个新的里程记录

所以,我现在的MySQL触发器是

CREATE EVENT Daily_Mileage
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
DO
INSERT INTO `mileagesnew`(`user_id`, `date`, `mileage`, `fuel_mileage`, `fuel`, `fuel_cost`, `km`, 
`kmpl`, `remarks`, `created_at`, `updated_at`) VALUES
('Need To Get The ID of every employee in users table here without 
repeating',CURRENT_DATE,'0','0','0','0','0','0','0','',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
我不知道如何才能在没有任何重复项的情况下获得users表中每个记录的id值。这是可能的吗?或者如果我通过mysql这样做,我应该为所有用户单独编写查询吗

到目前为止,事件集将仅针对一个用户id运行,而不针对另一个用户id运行,如下所示:

创建活动每日里程
按时
每1天
开始(时间戳(当前日期)+间隔1天+间隔1小时)
做
插入里程(用户id、`date`、里程、燃油里程、燃油、燃油成本、公里数、公里数、备注)
选择id,当前_日期,0,'0','0','0',0,0','
来自用户;
PS.
处创建的列和
处更新的列已经是
默认的当前时间戳
,因此它们被删除。删除数字列的单引号包装的零

PPS<代码>时间戳在
开始
中的功能使用过量,
开始当前日期+间隔“1 1”天(小时)
就足够了


表名为mileagesnew,而不是mileages–Developer


在查询中自行调整。

这是事件过程,而不是触发器。触发器仅由相应的数据更改事件触发。SQL代码中的
mileagesnew
是什么?你没有提到过这样的表格eslewhere..@Akina oops对不起,我的不好,表格名称是mileagesnew不是mileages请不要发布text@Strawberry这些图片用于参考如何将事件设置为不编辑它们,并作为答案提供。我为社区单独添加了代码块,以便在出现问题时向我提供说明。通过将查询设置为SELECT id等,查询如何知道在哪个表上获取id。。将从中的另一个表users表中获取iddatabase@Developer这是由用户的
明确设置的。如果只需要为某些用户插入新行,请根据位置添加。