Mysql 我对这个sql触发器有问题
我正在写一个触发器,当新员工被雇佣时,它会在工资表中设置50000的新员工工资。到目前为止,我启动了触发器,但不知道如何进行IF语句。如果您能帮忙,我们将不胜感激Mysql 我对这个sql触发器有问题,mysql,triggers,Mysql,Triggers,我正在写一个触发器,当新员工被雇佣时,它会在工资表中设置50000的新员工工资。到目前为止,我启动了触发器,但不知道如何进行IF语句。如果您能帮忙,我们将不胜感激 EMPLOYEE: +-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------+------+---
EMPLOYEE:
+-----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+-------+
| staff_id | int(11) | NO |PRI | NULL | |
| seniority | int(11) | YES | | NULL | |
| lastname | char(30) | YES | | NULL | |
| firstname | char(30) | YES | | NULL | |
+-----------+----------+------+-----+---------+-------+
SALARY:
+-----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+-------+
| staff_id | int(11) | NO |PRI | NULL | |
| salary | int(16) | YES | | NULL | |
+-----------+----------+------+-----+---------+-------+
delimiter $$
Create Trigger Salary_add
BEFORE INSERT ON employee
FOR EACH ROW
BEGIN
DECLARE num_row INTEGER;
DECLARE tot_rows INTEGER;
SELECT COUNT(*)
INTO tot_rows
FROM employee
WHERE staff_id=NEW.staff_id;
SELECT COUNT(*)
INTO num_row
FROM salary
WHERE staff_id=NEW.staff_id;
IF num_row > 0 THEN
UPDATE employee
WHERE staff_id = NEW.staff_id;
ELSE
INSERT INTO employee
(staff_id, seniority, lastname, firstname)
VALUES(NEW.staff_id, NEW.seniority, NEW.lastname, NEW.firstname);
END IF
end$$
你在找这个吗 创建触发工资\u添加 在插入员工姓名后 每行 在工资值中插入新的员工id,50000;
这是一个演示非常感谢您。我所要做的就是将update改为insert。SQLFIDLE是否有日志,比如在mysql cli中的何处可以执行/t日志