MySQL での SQL モードの表示と設定の詳細な説明

MySQL での SQL モードの表示と設定の詳細な説明

MySQL での SQL モードの表示と設定

MySQL はさまざまなモードで実行でき、さまざまなシナリオでさまざまなモードで実行できます。これは主にシステム変数 sql_mode の値によって異なります。この記事では、主に Mac システムでのこの値の表示と設定について紹介します。

各モードの意味や機能はインターネットで簡単に調べられるので、この記事では紹介しません。

有効範囲と時間に応じて、セッションレベル、グローバルレベル、構成(永続的に有効)レベルの 3 つのレベルに分けられます。

セッションレベル:

チェック-

@@session.sql_mode を選択します。

改訂-

@@session.sql_mode='xx_mode' を設定します
セッション sql_mode='xx_mode' を設定します

セッションは省略可能で、デフォルトのセッションは現在のセッションに対してのみ有効です。

グローバルレベル:

チェック-

@@global.sql_mode を選択します。

改訂-

グローバル sql_mode を 'xx_mode' に設定します。
@@global.sql_mode='xx_mode' を設定します。

高度な権限が必要で、次の接続にのみ有効です。現在のセッションには影響しません (テスト済み)。MySQL の再起動時に構成ファイル内の対応する値が再読み取りされるため、MySQL の再起動後は無効になります。永続的にしたい場合は、構成ファイル内の値を変更する必要があります。

構成の変更(永続的):

vi /etc/my.cnfを開く

以下に追加

[mysqld]
sql-mode = "xx_mode"

注意: [mysqld] を追加する必要があり、sql-mode の中央にはアンダースコアではなく「-」が入ります。

保存して終了し、サーバーを再起動すると、変更が永続的に有効になります。

Mac には MySQL の設定ファイルがインストールされていないため、手動で追加する必要があります。

追伸

最後に、Mac での MySQL の起動、停止、再起動について少し補足します。

主な方法は2つあります。

1 つは、「システム環境設定」に対応する MySQL パネルをクリックして管理を実現することです。

2番目はコマンドライン方式です。

MySQL 関連の実行スクリプトのうち、最もよく使用される 2 つは次のとおりです。

ローカルディレクトリ
ローカルのmysqlディレクトリ

mysql.server はサーバーの起動と停止を制御します。

mysql.server の開始|停止|再起動|ステータス

mysql は主にサーバーに接続するために使用されます。

mysql -uroot -p **** -h **** -D **

sudo 権限が必要なものもありますが、環境変数に関連パスを追加することで記述を簡略化できます。追加方法についてはここでは紹介しません。

知識ポイントの拡張:

厳密モードの説明

MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES) の制限に従って、次のようになります。

1) NULLでないフィールドにNULL値を挿入することはサポートされていません

2) 自動増分フィールドに「」値を挿入することはできませんが、null値を挿入することはできます。

3). テキストフィールドのデフォルト値をサポートしていません

次のコードを見てください: (最初のフィールドは自動インクリメントフィールドです)

$query="デモ値に挿入('','$firstname','$lastname','$sex')";

上記のコードは非厳密モードでのみ有効です。

コード

$query="デモ値に挿入(NULL,'$firstname','$lastname','$sex')";

上記のコードは厳密モードでのみ有効です。空の値 '' を NULL に置き換えます。

以下もご興味があるかもしれません:
  • MySQL sql_mode の変更が有効にならない理由と解決策
  • MySQL sql_modeクエリと設定の詳細な説明
  • MySQL の sql_mode モード例の詳細な説明
  • Django2 は MySQL に接続し、モデルテストの例を分析します。
  • MySQL sql_modeの適切な設定に関する詳細な説明
  • MySQL sql_mode の分析と設定の説明
  • MySQL 5.7 の sql_mode のデフォルト値によって生じる落とし穴と解決策
  • MySql バージョンの問題に対する完璧なソリューション sql_mode=only_full_group_by
  • MySQL 5.7.9 バージョンの sql_mode=only_full_group_by 問題を解決する
  • MySQL での SQL モードの使用法の詳細な説明
  • mysql sql_mode="" 関数の説明
  • MySQL sql_mode の使用に関する詳細な説明

<<:  Nginx を使用して IP アドレスが悪意を持って解決されるのを防ぐ方法

>>:  JavaScript における型の必須および暗黙的な変換の詳細な説明

推薦する

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

MySQL接続がハングする理由の詳細な説明

目次1. 背景建築問題現象2. 分析プロセス接続プール不安に陥る雲を晴らして光を見よう3. 解決策I...

Reactコンポーネントのライフサイクルの詳細な説明

目次1.ライフサイクルとは何か2. 読み込みプロセス1.コンストラクタ2. レンダリング3. コンポ...

Reactの仮想DOMとdiffアルゴリズムの詳細な説明

仮想DOMの役割まず、仮想 DOM の出現によってどのような問題が解決されるのかを知る必要があります...

Javascriptのクロージャとアプリケーションの詳細な説明

目次序文1. クロージャとは何ですか? 1.1 クロージャは条件コードを満たす1.2 クロージャ生成...

MySQLが内部一時テーブルを使用するタイミングについて簡単に説明します。

組合執行分析を簡単にするために、次のSQLを例として使用します。 テーブル t1 を作成します ( ...

CSS3 でクールなスライス画像カルーセル効果を実現

今日は、CSS を使用してクールな画像カルーセル コンポーネントを作成する方法を学びます。その原理は...

Linux CentOS でスケジュールされたバックアップ タスクを設定する方法

実装準備 # ファイルパスをバックアップする必要があります: /opt/apollo/logs/ac...

要素 el-button ボタンコンポーネントの使用の詳細な説明

1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

VMware 仮想マシンの 3 つのネットワーク方式と原則 (概要)

1. ブリッジ: デフォルトでは VMnet0 が使用されます1. 原則:ブリッジは、それぞれ 2...

HTML要素を非表示にするいくつかの方法

1. CSSを使用するコードをコピーコードは次のとおりです。スタイル="display:n...

Centos7 での nginx のインストールと設定に関する詳細なチュートリアル

注: ソフトウェアのインストールの基本ディレクトリ パスは /usr/local です。ソフトウェア...