各 MySQL 列挙にインデックス値があることを示すにはどうすればよいでしょうか?
実際、ENUM 列仕様にリストされている要素には、1 から始まるインデックス番号が割り当てられます。ここでの「インデックス」という用語は、列挙値のリスト内の位置を指し、テーブルのインデックスとは何の関係もありません。次の例では、各 MySQL 列挙にインデックス値があることを示します。
列挙値の代わりにインデックス番号を挿入することで、
列挙値の代わりにインデックス番号を挿入することで、それを示すことができます。書き込み ENUM 列に値を挿入するには、値を入力します。たとえば、以下の表には、「pass」と「fail」という 2 つの ENUM 値があります。 「pass」は列挙リストの最初に記述されるため、インデックス番号は「1」となり、「fail」のインデックス番号は「2」になります。ここで、以下に示すようにインデックス番号を挿入して値を挿入することもできます。
mysql> Insert into marks(id,name,result)values(103,'Daksh','1'); Query OK, 1 row affected (0.06 sec) mysql> Insert into marks(id,name,result)values(104,'Shayra','2'); Query OK, 1 row affected (0.07 sec) mysql> Select * from marks; +-----+---------+--------+ | id | Name | Result | +-----+---------+--------+ | 101 | Aarav | Pass | | 102 | Yashraj | Fail | | 103 | Daksh | Pass | | 104 | Shayra | Fail | +-----+---------+--------+ 4 rows in set (0.00 sec)
上記のクエリでは、インデックス番号 1 と 2 を使用して、それぞれ列挙値の合格と失敗を表しています。
列挙値の代わりに空の文字列を挿入する
空の文字列のインデックス値は 0 です。空の文字列を挿入する前に、SQL モードを TRADITIONAL、STRICT_TRANS_TABLES、または STRICT_ALL_TABLES にすることはできません。次の例でそれを理解できます。-
mysql> SET SESSION sql_mode = ''; Query OK, 0 rows affected (0.00 sec) mysql> Insert into marks(id, name, result) values(105,'Yashraj',''); Query OK, 1 row affected, 1 warning (0.06 sec)
上記のクエリは、列挙値の位置に空の文字列を挿入します。 MySQL は空の文字列を挿入し、次の警告を表示します。
mysql> Show warnings; +---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1265 | Data truncated for column 'Result' at row 1 | +---------+------+---------------------------------------------+ 1 row in set (0.00 sec)
テーブルを調べると、ENUM フィールドに空の文字列があることがわかります。
mysql> Select * from marks; +-----+---------+--------+ | id | Name | Result | +-----+---------+--------+ | 101 | Aarav | Pass | | 102 | Yashraj | Fail | | 103 | Daksh | Pass | | 104 | Shayra | Fail | | 105 | Yash | | +-----+---------+--------+ 5 rows in set (0.00 sec) mysql> Select result+0 As result_index from marks; +--------------+ | result_index | +--------------+ | 1 | | 2 | | 1 | | 2 | | 0 | +--------------+ 5 rows in set (0.01 sec) From the output of above query, it is clear that the index value of the empty string is 0.
列挙値の代わりに NULL を挿入する
ENUM 列に NOT NULL を指定していないため、列挙値の代わりに NULL を挿入できます。 NULL のインデックス値は NULL です。たとえば、次のクエリを使用すると、テーブル「result」の列挙型列に NULL を挿入し、そのインデックス値を確認できます。
mysql> Create table result(Id INT PRIMARY KEY NOT NULL, Name Varchar(10), GradeENUM('POOR','GOOD')); Query OK, 0 rows affected (0.25 sec) mysql> Insert into result(id, name, grade) values(100, 'Rahul', NULL); Query OK, 1 row affected (0.06 sec)
上記のクエリでは、列挙値の位置に NULL 値が挿入されています。次のヘルプ クエリを使用して確認できます。 -
mysql> Select * from result; +-----+-------+-------+ | Id | Name | Grade | +-----+-------+-------+ | 100 | Rahul | NULL | +-----+-------+-------+ 1 row in set (0.00 sec)
次に、次のクエリを使用して、次のことができます。 NULL を観察します。インデックス値は NULL です。
えええええ以上が各 MySQL 列挙にインデックス値があることを示すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)
