8.1.5 MySQL对触发器的支持
2025年09月21日
8.1.5 MySQL对触发器的支持
MySQL自版本5.0.2开始支持触发器,但在编写本书时,这个新特性仍在不断地开发中。虽然前面介绍的示例展示了可能的功能,但仍有一些局限性。例如,在5.0.12 beta版中,存在以下不足。
➢ 不支持TEMPORARY表。触发器不能用于TEMPORARY表。
➢ 不支持视图。触发器不能用于视图。
➢ 无法从触发器中返回结果集。这确实是个主要缺点,肯定会在未来版本中解决。但是,可以使用SELECT语句结合MySQL的许多函数来操作目标查询中的数据。
➢ 不支持事务。事务的开始和结束不能涉及触发器。
➢ 不支持存储过程。存储过程不能在触发器中执行。
➢ 触发器必须唯一。不可能针对同一个表、事件(INSERT、UPDATE、OELETE)和时间(前、后) 创建多个触发器。但是,因为可以在一个查询中执行多条命令(很快将学到),所以这实际上并不是问题。
➢ 错误处理和报告功能很弱。虽然在前触发器或后触发器失败时MySQL可以如期防止操作继续执行,但当前没有一种妥善的方式能让触发器失败并向用户返回有用的信息。
虽然这些限制在实际使用触发器时会有些困难,但要记住它仍在进步。也就是说,甚至在这个早期开发阶段,还是有很多机会可以利用这个重要的新特性。继续读下去,来学习如何开始将触发器集成到MySQL数据库中,首先介绍触发器的创建。