我的 ISP 已更新托管我的应用程序的共享服务器。它涉及从 MySQL 5.6 到 MariaDB 10.3 的更新。ISP 写道: MariaDB 在很大程度上与 MySQL 兼容,并且大多数 Web 应用程序都可以与 MariaDB 一起正常工作。换句话说,它们不会受到最小差异的影响。
但是,自从更新以来,我的许多 EDIT 和 INSERT 不再起作用并产生致命错误。在我的搜索中,我发现:
- 问题在于写入数据库
- 当并非所有字段都有值时似乎会发生,而我的应用程序中允许使用空字段
在我的进一步调查中,我遇到了: https ://forums.cpanel.net/threads/mariadb-10-2-disabling-strict-mode.635157/ 根据这个线程,我了解解决方案可能是在更改 sql 模式服务器设置来自:
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
到:
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我试图通过 DirectAdmin/PHPAdmin 变量对其进行更改。由于它是共享服务器,因此我不允许更改设置,因此无法检查(需要超级权限)。
我现在有3个问题:
- 这会是解决方案吗?在这种情况下,我会要求我的 ISP 更改此设置。
- 这是修复它的最佳方法吗?
- 我可以用另一种方式解决这个问题吗?
建议非常感谢。