Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi cú pháp trên MYSQL Trigger

Để ứ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'
  )
;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách khắc phục lỗi này PHP Lỗi nghiêm trọng:Gọi đến hàm không xác định mysql_query () trong bảng điều khiển bánh nướng

  2. Có phải việc thực hiện Quản lý giao dịch trong Bộ điều khiển là hoạt động không tốt?

  3. Mảng đa chiều để nhóm Danh mục và danh mục con

  4. Mối quan hệ 'nhiều đến hai'

  5. Làm thế nào để tìm vị trí gần nhất bằng cách sử dụng vĩ độ và kinh độ từ cơ sở dữ liệu SQL?