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

推薦する

雨滴効果を実現する JavaScript キャンバス

この記事では、雨滴効果を実現するためのJavaScriptキャンバスの具体的なコードを参考までに紹介...

https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

Nginx は、高性能な Web サイト サーバーおよびリバース プロキシ サーバーであり、IMAP...

CSS3+JS による虫眼鏡モードの完璧な実装の詳細説明

約 1 年前、私は「虫眼鏡効果を模倣するいくつかの方法の原理の分析」という記事を書きました。当時、自...

Tomcat は親の委任メカニズムを破壊して Web アプリケーションの分離を実現します。

目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...

MySQL マスター/スレーブ ステータスを監視するシェル スクリプト

Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...

Vueでブラウザ共有機能を呼び出す方法

序文Vue(発音は /vjuː/、view に似ています)は、ユーザーインターフェイスを構築するため...

WeChatアプレットで画像の幅と高さを取得する方法

起源最近、私は要件 A に取り組んでいます。そこには、次のように記述される小さな機能ポイントがありま...

Linux CentOS 7.4 で mysql5.7.20 のパスワードを変更する方法

MySQL がバージョン 5.7 にアップグレードされた後、セキュリティが大幅に向上しました。しかし...

HTMLとリソースがどのように読み込まれるかを理解します

このブログのすべてのコンテンツは、クリエイティブ コモンズ ライセンスの下でライセンスされています。...

Mysql 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

目次序文1. 文字列の長さを取得する2. 文字列の指定された位置の値を取得する(1) charAt(...

JS 実用的なオブジェクト指向スネークゲームの例

目次考える1. 貪欲な蛇の効果画像2. スネークの分析2.1 ゲーム開始機能2.2 運動機能2.2....

SQLベースのクエリステートメント

目次1. 基本的なSELECT文1. 指定されたフィールドをクエリする3. エイリアスを設定する4....

TypeScript インターフェースの紹介

目次1. インターフェース定義2. 属性2.1 オプション属性2.2 読み取り専用プロパティ3. ク...

JavaScript における Promise の詳細な説明

目次Promise の基本的な使用法: 1. Promiseオブジェクトを作成する2. プロミス方式...