Chào mọi người!
Hiện tại em có một bảng Demo với cấu trúc như sau:
create table Demo (
id int(10) auto_increment primary key,
text varchar(30) default null,
istrue boolean default false
);
Giờ em hiện thực trigger before update trên bảng Demo, sao cho chỉ khi nào update có ‘set text =’ thì mới hiện thực thay đổi ở trigger.
Update Demo set istrue = false where id = 1; # trigger k hiện thực thay đổi.
Update Demo set text= 'abc' where id = 1; # trigger hiện thực thay đổi
Em có hiện thực trigger như sau nhưng nó không hoạt động như ý trên ạ:
DELIMITER $$
CREATE TRIGGER update_text
BEFORE update ON Demo
FOR EACH ROW
BEGIN
IF (exists(SELECT NEW.text)) THEN
SET NEW.text := concat(OLD.text,'#', NEW.text);
END IF;
END$$
DELIMITER ;
Nên mọi người cho em hỏi, làm sao để kiểm tra trong trigger xem giá trị New.text có tồn tại không để thực hiện ý trên ạ. Xin mọi người giúp đỡ ạ! Em xin cám ơn.