Это таблица, которая у меня есть.
CREATE TABLE `employees` (
id INT(4) NOT NULL AUTO_INCREMENT,
employee_id VARCHAR(10) null,
employee_email VARCHAR(30) NOT NULL,
employee_first_name VARCHAR(30) NOT NULL,
employee_last_name VARCHAR(30) NOT NULL,
PRIMARY KEY (id),
UNIQUE (employee_id));
Это триггер, который я использую.
delimiter $$
create trigger employee_id_update_trigger
after insert on employees
for each row
begin
update employees set new.employee_id= concat('ecl-emp-',id)
where id=LAST_INSERT_ID();
end$$
delimiter ;
Это вставка, которую я пытаюсь сделать.
INSERT INTO `employees`
VALUES (1,null,'abc@gmail.com','ABC','DEF');
Ошибка, которую я получаю, приведена ниже.
11:29:16 INSERT INTO `employees` VALUES (1,null,'abc@gmail.com','ABC','DEF') Error Code: 1442. Can't update table 'employees' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 1.282 sec