根据题目要求,我们需要创建一个触发器 audit_log,当向 employees_test 表中插入一条数据时,触发器会自动将相关数据插入到 audit 表中。以下是完整的 SQL 解决方案:

SQL 解决方案

CREATE TRIGGER audit_log 
BEFORE INSERT ON employees_test 
FOR EACH ROW 
BEGIN
    INSERT INTO audit (EMP_no, NAME)
    VALUES (NEW.ID, NEW.NAME);
END;

代码说明

  1. CREATE TRIGGER audit_log
    
    • CREATE TRIGGER:用于创建一个新的触发器。
    • audit_log 是触发器的名称。
  2. BEFORE INSERT ON employees_test
    
    • 指定触发器的触发时机和触发事件。
    • BEFORE INSERT 表示在向 employees_test 表插入数据之前触发。
  3. FOR EACH ROW
    
    • 指定触发器对每一行插入操作分别执行。
  4. BEGIN ... END

    • 包裹触发器的逻辑代码块。
  5. NEW 关键字

    • 在触发器中,NEW 用于引用即将插入的行的数据。
    • NEW.IDNEW.NAME 分别表示插入的行的 IDNAME 字段。
  6. 插入到 audit

    • 触发器将插入的 IDNAME 插入到 audit 表中。