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 における型の必須および暗黙的な変換の詳細な説明

推薦する

ノードの対応するバージョンに関する簡単な説明 node-sass sass-loader

目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

ネイティブ JavaScript を使用した Web 計算機の実装

この記事では、参考までに、計算機のWebバージョンを実装するためのJavaScriptの具体的なコー...

MYSQL スロークエリとログの例の説明

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

ページ リファクタリング スキル - Javascript、CSS

JS、CSSについてCS: ...上部のスタイルシートCSS式を避ける外部JS、CSSの使用JSと...

12個のJavascriptテーブルコントロール(DataGrid)が整理されています

DataGrid コントロールの DataSource プロパティがデザイン時に設定されている場合、...

MySQLインスタンスが起動できない問題の分析と解決

目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...

Xtrabackup を使用した MySQL バックアップ プロセスの詳細な説明

目次01 背景02 はじめに03 ワークフロー04 いくつかの質問05 ファイルをバックアップする0...

マウスの尾行効果を実現する JavaScript

マウス効果では、setTimeout を使用して固定時間にノードを生成し、ノードを削除し、生成された...

Linux で lvm 論理ボリューム パーティションのサイズを調整するチュートリアル (xfs や ext4 などのさまざまなファイル システム用)

序文システムをインストールしたときに、パーティション領域を適切に割り当てませんでした。その後のメンテ...

Vue のライフサイクルとフック関数

目次1.ライフサイクルとは何か2. Vueのライフサイクル3. ライフサイクルフック関数1.ライフサ...

2列のデータをSQLの新しい列として操作する

以下のように表示されます。 bb_sbからa1、a2、a1+a2 a、a1*a2 b、a1*1.0/...

複数のネットワークカードを備えた Linux システムでのルーティング構成の詳細な説明

Linux でのルーティング設定コマンド1. ホストルーティングを追加する ルートを追加 -host...

EclipseにTomcatサーバー設定を追加する方法

1. ウィンドウ -> 設定を選択してEclipseの設定パネルを開きます。 2. 「設定」ウ...

CSSは、他のレイヤーを変更せずに、多層ネスト構造の最外層を回転させる効果を実現します。

次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...