最近阅读《MySQL必知必会》一书时,有关触发器那一章有个实例代码无法正确运行,书中代码为:

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT 'Product added';

执行的时候会报ERROR 1415 (0A000): Not allowed to return a result set from a trigger的错误。MySQL5早期版本是支持的,现在的新版本已经不支持这种写法。触发器不允许出现SELECT *的形式,因为这会返回一个结果集,而这是不允许的,所以会报出这种错。

触发器中可以使用SELECT  INTO的形式来进行查询,将结果放进一个变量,然后查询该变量。

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT 'Product added' INTO @arg;

整个实验结果如下:

ERROR 1415 (0A000): Not allowed to return a result set from a trigger

相关文章:

  • 2021-12-01
  • 2021-07-18
  • 2021-06-03
  • 2022-01-30
  • 2021-06-19
  • 2021-11-13
  • 2021-08-23
  • 2022-12-23
猜你喜欢
  • 2021-06-08
  • 2022-12-23
  • 2022-01-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
相关资源
相似解决方案