Để ứng dụng khách MySQL của bạn không diễn giải ;
chấm dứt INSERT
câu lệnh ở cuối CREATE TRIGGER
, bạn phải thông báo rằng bạn muốn sử dụng một số dấu phân cách câu lệnh khác.
Trong mysql
máy khách dòng lệnh, bạn có thể thực hiện việc này với DELIMITER
lệnh
. Ví dụ:để thay đổi dấu phân cách câu lệnh của bạn thành dấu chấm phẩy kép:
DELIMITER ;;
Sau đó, bạn có thể làm:
CREATE TRIGGER LOG_UPDATE BEFORE UPDATE ON WORKLOG FOR EACH ROW BEGIN
INSERT INTO WORKLOG_BACKUP VALUES (
NULL,
CURRENT_TIMESTAMP,
NEW.LOGNO,
NEW.JOBNO,
NEW.EMPLOYEENO,
NEW.WORKDATE,
NEW.WORKTIME,
'UPDATE'
);
END;;
Tuy nhiên, vì trong trường hợp này trình kích hoạt của bạn chỉ chứa một câu lệnh, bạn không cần sử dụng BEGIN ... END
khối câu lệnh ghép
và do đó có thể tránh thay đổi hoàn toàn các dấu phân cách:
CREATE TRIGGER LOG_UPDATE BEFORE UPDATE ON WORKLOG FOR EACH ROW
INSERT INTO WORKLOG_BACKUP VALUES (
NULL,
CURRENT_TIMESTAMP,
NEW.LOGNO,
NEW.JOBNO,
NEW.EMPLOYEENO,
NEW.WORKDATE,
NEW.WORKTIME,
'UPDATE'
)
;