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

推薦する

MySQL 8.0の落とし穴の詳細な説明

本日、MySQL 8.0 をアップデートしました。最初の問題: Navicatがデータベースに接続で...

優れた Web UI ライブラリ/フレームワーク 10 選

1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...

IE6 での PNG アルファ透明度 (完全コレクション)

IE6 は PNG の透明度をサポートしていないと多くの人が言っています。実際、IE は 100%...

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...

alpineをベースにdockerfileで作成したtomcatイメージの実装

1.アルパインイメージをダウンロードする [root@docker43 ~]# docker pul...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

MySQL マスタースレーブスイッチチャネルの問題の解決策

VIP を設定した後、アクティブ/スタンバイの切り替え中に表示されるエラー メッセージは次のとおりで...

WeChatアプレット開発の実践スキル:データの転送と保存

日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

SQL文でのgroup byの使用について簡単に説明します

1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...

Dockerイメージサイズを最適化する一般的な方法

通常、私たちが構築する Docker イメージはサイズが大きく、多くのディスク領域を占有します。コン...