2016-12-30 191 views
1

下面是用戶MySQL來從一個表fetchdata並插入到另一個

+-------+------------+ 
|user_id|user_salary | 
+-------+------------+ 
| 6  | 10000  | 
+-------+------------+ 

我每月的工資表,這是我的日常考勤表

+-------------+---------+------+-------+---------------+-------+ 
|attendance_id| user_id |name |present|attendance_date| wages | 
+-------------+---------+------+-------+---------------+-------+ 
| 1 |  | 6  | parth| P  |2016-12-16  | 350 | 
+-------------+---------+------+-------+---------------+-------+ 

以上就是我的工資和考勤表,我想插入每月工資按月工資和插入考勤表使用觸發下面是我的觸發代碼。我想每天= monthly_salary/days_in_month並插入考勤工資表。

trigger wages before insert on attendance 
for each row 
set NEW.wages=(select user_salary from salary where user_id=NEW.user_id)/(SELECT DAY(LAST_DAY(now()))) 

回答

0
DELIMITER $$ 
CREATE TRIGGER `trigger` BEFORE INSERT ON `attendance` 
FOR EACH ROW 
BEGIN 
SET NEW.wages = (SELECT user_salary from salary where user_id = NEW.user_id)/(SELECT DAY(LAST_DAY(now()))); 
END $$ 
DELIMITER ; 
1

您在BEFORE INSERT ON行中忘記了命令CREATE

的工作的例子是:

DELIMITER $$ 
CREATE TRIGGER `trigger` BEFORE INSERT ON `attendance` 
FOR EACH ROW 
BEGIN 
SET NEW.room = (SELECT user_salary from salary where user_id=NEW.user_id)/(SELECT DAY(LAST_DAY(now()))); 
END $$ 
DELIMITER ; 
+0

謝謝@ user3606329 –

+0

只是固定的SELECT語句。如果您對我的回答滿意,請接受它。謝謝。 – user3606329