問題タブ [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 - sql_mode を none に設定できない
以下に示すように、Mac El Capitan でバージョン 5.7.9 を使用しています。
ファイル ~/.my.cnf を作成し、以下を追加しました。
mysql を再起動して再度 sql_mode を確認しましたが違いはありません。ここで何が間違っていますか?
sunos - .sql-mode で指定されたデータベースを認識するように xemacs を設定するにはどうすればよいですか?
以下を含む .sql-mode ファイルを使用して xemacs を実行しています。
[ユーティリティ] -> [インタラクティブ モード] -> [関連付けを使用] を選択して xemacs のデータベースにログインすると、ログインできますが、データベース パラメータが取得されません。たとえば、「dev」にログインするとログインしますが、「select db_name()」を実行すると、devbilling ではなく csdb が生成されます。ユーザーに関連付けられたデフォルトのデータベースを選択し、データベース パラメータを無視しているようです。オプションが選択されたときに .sql-mode で指定されたデータベース パラメーターを取得するように xemacs を構成するにはどうすればよいですか?
ありがとう、
マイク
mysql - sql_mode を永続的に変更できないのはなぜですか?
私は現在、Windows 10でmysqlサーバー5.6を使用しています。mysqlを使用しているときに、「次の列にデフォルト値がありません」というようなエラーが表示され続けます。 sql_mode。現在は
これは、「mysql server 5.6」フォルダーの「my-default.ini」ファイルから取得しました。sql_modeを永続的に変更したい場合は、「my-default.ini」ファイルを使用して行う必要があるという他のいくつかの回答を読みました。だから私がしたことは、メモ帳を管理者として実行し、ブラウズして「my-default.ini」ファイルを開きました。
ファイルを開いたときに、最後の行を変更しました。
に
次に、ファイルを保存して閉じました。次に、タスク マネージャーを使用して、SQL サーバーを再起動しました。
これは、sql_mode を永続的に変更するプロセス全体です。「my-default.ini」ファイルを見ると、最後の行がまだ変更されています。しかし、コマンド ラインから mysql にログインし、次のコードで sql_mode を表示すると:
私のsql_modeは
エラーが消えるように、これらすべてを (永久に) 削除したいと思います。次を使用して、コマンドラインから sql_mode を変更しようとした場合:
うまくいきましたが、MySQL を再起動すると、すべてが以前の状態に戻りました。
誰かが私が間違っていることを教えてもらえますか? この問題を解決する別の方法がある場合。
mysql - 新しいバージョンのグループに関する MySQL の問題
良い一日。
注: MySQL 5.7.0 以降では、デフォルトで ONLY_FULL_GROUP_BY sql_mode に含まれています。
次のクエリはそうではありません。
エラー メッセージ Error: Expression # 1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ordered_list.id' which is not functionlydependent to columns in GROUP BY clause; これは、予想される sql_mode = only_full_group_by と互換性がありません。
このオプションを無効にすると、次の結果が得られます。
5.7.x より前の MySQL バージョンでは、望ましい結果が返されます。
ソースデータ:
各グループの最大日付に該当するデータを行を選択するクエリを見てください。
my.cnf - MySQL sql_mode には不要な余分なモードがあります
私は Mac を使用しており、MySQL ワークベンチを使用しています。これにより、my.cnf ファイルの場所が編集中の /etc/ にあることがわかります。chmod aw でそのファイルのパーミッションを設定しました。
その my.cnf ファイルには、次のものがあります。
SQLモード=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
それが私が欲しいものです。ただし、MySQL を再起動してコマンド ラインにログインすると、次のようになります。
mysql> SELECT @@sql_mode;
| | @@sql_mode |
| | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
セットで 1 行 (0.00 秒)
追加のモードが追加されています。次の (永続的ではない) コマンドを実行すると: set global sql_mode= NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
;
これは私がコンソールで見ているものです: mysql> SELECT @@sql_mode;
| | @@sql_mode |
| | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
まさに私が欲しいもの。
これらの余分な不要なSQLモードが追加されている方法/理由を誰かに説明できますか? および/または、これら2つのモードだけを他のモードなしで持続させるにはどうすればよいですか?
mysql - my.cf を変更した後、MySQL が起動しない
Web サイトで作業していて、次の MySQL エラーが発生します。
「(...) これは sql_mode=only_full_group_by と互換性がありません (...)」
答えを探したところ、MySQL の sql_mode を変更する必要があることに気付きました。そこで、次の行を /etc/mysql/my.cnf に追加しました。
しかし、今実行sudo service mysql restart
すると、非常に長い時間がかかり、次のメッセージが表示されます。
そのため、その行を削除したので、PC を起動するたびに手動でコマンドを実行する必要があります。
誰でも私を助けることができますか?