問題タブ [sql-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 - MySql は、RDS とローカル Docker コンテナで異なる動作をします
ローカルの MySQL Docker コンテナーと別の環境の RDS インスタンスの動作に違いがあります。このエラーと のさまざまなオプションに関するドキュメントを読みましたsql_mode
。しかし、この違いがどこから来るのかはわかりませんでした。
- まったく同じスクリプトを実行しています。
- バージョンは同じ (MySQL 5.7.26) で、関連するすべてのパラメータは同じに見えます
- ドッカー用にローカル
mysql:5.7
で、デフォルトのコマンドでイメージを使用しています
問題を再現するために実行しているスクリプト:
ローカルホストでの結果
RDSの結果
どうやらそれはsql_mode
パラメータではなく、バージョンでもありません。その行動の違いは他にどこから来るのでしょうか?
php - laravel で無効な日付を許可する
以下のクエリは、PHPMyadmin で直接実行すると機能しますが、laravel を使用して実行すると機能しません。
以下のエラーがスローされます。
SQLSTATE[HY000]: 一般エラー: 1525 不正な DATE 値: ''0000-00-00'
データベースで mysql_mode を ALLOW_INVALID_DATES に設定しました。
また、laravelでクエリを実行する前に、以下で使用されます:
DB::statement("set session sql_mode='ALLOW_INVALID_DATES'");
また、laravel conig/database.php で厳密モードが false に設定されていますが、上記のクエリでもエラーがスローされます。