Mysql表不存在错误,引用了错误的表名

Ian*_*Ian 2 mysql

我有一张可以查询的表...

SELECT * FROM search.books LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

返回一个正确的值。

但是,当我尝试更新表格时...

UPDATE search.books SET title='sometitle' WHERE id='12345'
Run Code Online (Sandbox Code Playgroud)

它返回

ERROR 1146 (42S02): Table 'search._books_new' doesn't exist
Run Code Online (Sandbox Code Playgroud)

我不确定为什么它引用 '_books_new' 而不是指定的那个?该表可能是之前复制的,因为它是一个开发服务器。

引擎是 MyISAM

我试过了

check table search.books
Run Code Online (Sandbox Code Playgroud)

也有重启mysqld,但没有区别。

Han*_*non 6

听起来好像表上有一个触发器search.books试图插入到不存在的表中,search._books_new

此查询将显示数据库中的触发器列表:

SELECT *
FROM INFORMATION_SCHEMA.TRIGGERS
Run Code Online (Sandbox Code Playgroud)