繁体   English   中英

此sql触发器语句有什么问题

[英]what's wrong with this sql trigger statement

我正在写我的第一个sql触发器查询。所以我试图掌握一下触发器语句的想法。我的计划是-

1.将数据插入到名为“ trigger_table”的表中;

2.插入后,从完全相同的表中获取数据,并使用PDO将其存储到php变量中;

所以我写了下面的触发器语句,并且在mysql工作台中执行sql时收到此错误

错误1415:不允许从触发器返回结果集

SQL Statement:

CREATE TRIGGER `trigger_table_AINS` AFTER INSERT ON trigger_table FOR EACH ROW

-- Edit trigger body code below this line. Do not edit lines above this one

  BEGIN

        SELECT * FROM trigger_table;

    END

如果有人指导我走正确的道路来完成我的任务,那将是很大的帮助。谢谢!

php代码:

   $db=new PDO("mysql:host=localhost;dbname=trigger",'root','');
   $sql="INSERT INTO trigger_table (name,email) VALUES('zami','alzami@gmail.com')";
   $conn=$db->prepare($sql);
   if($conn->execute()){
      $result=$conn->fetchAll(PDO::FETCH_OBJ);
   }

触发器旨在对事件做出反应以更新,修改或删除内容。 由于错误状态,它们并不意味着返回数据。

根据文档

触发器是与表关联的命名数据库对象,并在表发生特定事件时激活。 触发器的某些用途是对要插入表中的值进行检查,或对更新中涉及的值进行计算。

您可能正在执行存储例程

MySQL 5.7支持存储的例程(过程和函数)。 存储的例程是一组可以存储在服务器中的SQL语句。 完成此操作后,客户无需继续重新发出各个语句,而可以引用存储的例程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM