Error number: 3890; Symbol: ER_SECONDARY_ENGINE_DDL; SQLSTATE: HY000
Message: DDLs on a table with a secondary engine defined are not allowed.
错误说明:
ER_SECONDARY_ENGINE_DDL是MySQL的一个错误,当我们使用多引擎存储引擎来创建,修改或删除表格时会产生这个错误。多引擎存储引擎允许在相同的表格上使用多种不同的引擎。
错误码ER_SECONDARY_ENGINE_DDL在MySQL中十分常见,特别是在表格创建阶段,我们要使用多引擎存储引擎(也称作复合存储引擎)时,可能会发生这个错误。这意味着,我们正在尝试在同一个表格上同时使用两个或以上的存储引擎,但是MySQL不允许这样的操作。
解决方法:
解决这个错误最主要的方法是禁止使用多引擎存储引擎,并只使用一个独立的存储引擎来创建,修改或删除表格。
另外,我们也可以在MySQL服务器上的配置文件中将变量innodb_strict_mode更改为“OFF”,以允许MySQL在2011版本及以上的MySQL服务器中使用多引擎存储引擎。
最后,使用SHOW ENGINES命令可以检查一个MySQL服务器的可用引擎,并检查其支持的多引擎存储引擎的能力,因此,它可以帮助我们避免出现问题。