MySQL Error number: 4100; Symbol: ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE; SQLSTATE: HY000

文档解释

Error number: 4100; Symbol: ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE; SQLSTATE: HY000

Message: Trigger ‘%s’.’%s’ already exists on a different table. The ‘IF NOT EXISTS’ clause is only supported for triggers associated with the same table.

Error Number 4100: ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE

Error SQLSTATE: HY000

错误说明:

这是一个MySQL错误,当使用CREATE TRIGGER语句创建触发器但存在相同名称,但属于不同表的触发器,就会返回ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE。该错误表明,触发器已经被创建但存在另一个表中,而不是当前的表。

常见案例:

在MySQL数据库中,用户试图创建完全相同的触发器,但希望它只属于不同的表,但是在创建触发器之前,用户忘记查看表的触发器是否已经存在。

解决方法:

解决该错误的方法很简单,只要用户将触发器的名称更改为不同的名称,即可解决该问题。或者用户可以使用CREATE OR REPLACE TRIGGER语句,下载触发器并删除原始触发器,然后重新创建触发器。但是,重新创建触发器有可能成功,也有可能失败,因为MySQL的表有可能具有不同的表结构。

你可能感兴趣的