mysql - 如何插入触发器

标签 mysql sql stored-procedures triggers

 drop trigger if exists testtTrigger;

    CREATE TRIGGER testtTrigger after INSERT ON temp
      FOR EACH ROW 
        INSERT INTO author 
        (AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname) 

        INSERT INTO book 
        (`Book ID`, book_Title) values (new.bID, new.btitle);

//我还被告知要在存储过程中运行此代码,但是当我在存储过程中运行它时,它运行没有任何问题,但它不会为我触发,只是不执行对我来说,存储过程代码如下

DELIMITER $$

CREATE TRIGGER testtTrigger BEFORE INSERT ON temp
  FOR EACH ROW BEGIN
    INSERT INTO author (AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname);
    INSERT INTO book (`Book ID`, book_Title) values (new.bID, new.btitle);
  END;

最佳答案

drop trigger if exists testtTrigger;

DELIMITER //   
CREATE TRIGGER testtTrigger after INSERT ON temp
  FOR EACH ROW 
  BEGIN
    INSERT INTO author(AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname); 
    INSERT INTO book 
    (`Book ID`, book_Title) values (new.bID, new.btitle);
  END; //
  DELIMITER;

顺便说一句,这应该使用外键和 CASCADE 选项来完成。

关于mysql - 如何插入触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20761721/

相关文章:

Mysql - 通过保留以前的数据合并两个表

mysql - 如何使用sql存储过程在一些字符(varchar)之后添加尾随空格?

c# - 通过 C# 中的参数在 SqlCommand 中的字符串列表

sql - 海量数据从SQL Server导出到VB中的Excel

java - 替换 SQL 查询中表名、列名周围的转义字符

MYSQL存储过程if语句问题

sql - Oracle Sql : How can I output a table from procedure

mysql - 将 varchar(40) 转换为日期时间列

mysql - 如何选择每一天的日期范围

php - 如何从php文件中获取jquery函数中的信息