問題タブ [strict-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL5.6 を MariaDB10.3 に更新した後の致命的なエラー - sql strict モードが原因ですか?
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 変数を使用して変更しようとしました。共有サーバーなので設定変更不可なので確認できません(SUPER権限が必要です)。
私は今3つの質問があります:
- これで解決でしょうか?その場合、ISP にこれを変更するよう依頼します。
- これはそれを修正する最良の方法ですか?
- これを別の方法で解決できますか?
提案は大歓迎です。