如何在sqlite中列出数据库的所有触发器?

25

我无法删除触发器,但是当我尝试使用相同的名称创建新触发器时,它提醒我该触发器已存在。因此,我想列出所有触发器,以找出问题所在。

1个回答

57
您可以使用sqlite_master表获取与触发器相关的所有数据(包括创建它们的DDL代码)。如果您不需要所有数据,只需在查询中省略一些列即可。
对于所有数据:
您可以使用sqlite_master表获取与触发器相关的所有数据(包括创建它们的DDL代码)。如果您不需要所有数据,只需在查询中省略一些列即可。
select * from sqlite_master where type = 'trigger';
仅需要一个名称列表:
select name from sqlite_master where type = 'trigger';

3
对于像我一样不知道sqlite_master是什么的人,请参阅此链接:https://renenyffenegger.ch/notes/development/databases/SQLite/internals/schema-objects/sqlite_master/index。 - Lfppfs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接