


Wie kann gezeigt werden, dass jede MySQL-Aufzählung einen Indexwert hat?
Tatsächlich wird den in der ENUM-Spaltenspezifikation aufgeführten Elementen eine Indexnummer beginnend mit 1 zugewiesen. Der Begriff „Index“ bezieht sich hier auf die Position in der Liste der Aufzählungswerte, sie haben nichts mit dem Tabellenindex zu tun. Mit dem folgenden Beispiel können wir zeigen, dass jede MySQL-Aufzählung einen Indexwert hat –
Durch Einfügen der Indexnummer anstelle des Aufzählungswerts
Wir können in die ENUM-Spalte einfügen, indem wir ihre Indexnummer einfügen, anstatt den Wert zu schreiben. In der folgenden Tabelle haben wir beispielsweise zwei ENUM-Werte „bestanden“ und „nicht bestanden“. Da „pass“ an erster Stelle in der Aufzählungsliste steht, erhält es die Indexnummer „1“, und die Indexnummer von „fail“ ist „2“. Jetzt können wir den Wert auch einfügen, indem wir die Indexnummer wie unten gezeigt einfügen –
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)
In der obigen Abfrage haben wir die Indexnummern 1 und 2 verwendet, um die Aufzählungswerte „bestanden“ bzw. „fehlgeschlagen“ darzustellen.
Durch Einfügen einer leeren Zeichenfolge anstelle eines Aufzählungswerts
Der Indexwert einer leeren Zeichenfolge ist 0. Der SQL-Modus darf vor dem Einfügen der leeren Zeichenfolge nicht TRADITIONAL, STRICT_TRANS_TABLES oder STRICT_ALL_TABLES sein. Wir können es anhand des folgenden Beispiels verstehen:
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)
Die obige Abfrage fügt an der Position des Aufzählungswerts eine leere Zeichenfolge ein. MySQL fügt eine leere Zeichenfolge mit der folgenden Warnung ein.
mysql> Show warnings; +---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1265 | Data truncated for column 'Result' at row 1 | +---------+------+---------------------------------------------+ 1 row in set (0.00 sec)
Wenn wir nun die Tabelle untersuchen, können wir sehen, dass im ENUM-Feld eine leere Zeichenfolge vorhanden ist.
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.
Durch Einfügen von NULL anstelle des Aufzählungswerts
Wir können NULL anstelle des Aufzählungswerts einfügen, da wir NOT NULL für die ENUM-Spalte nicht angeben. Der Indexwert von NULL ist NULL. Mit Hilfe der folgenden Abfrage fügen wir beispielsweise NULL in die Enum-Spalte der Tabelle „result“ ein und können deren Indexwert überprüfen.
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)
Die obige Abfrage fügt einen NULL-Wert an der Position des Aufzählungswerts ein, was mit der folgenden Hilfsabfrage überprüft werden kann:
mysql> Select * from result; +-----+-------+-------+ | Id | Name | Grade | +-----+-------+-------+ | 100 | Rahul | NULL | +-----+-------+-------+ 1 row in set (0.00 sec)
Mit Hilfe der nächsten Abfrage können wir nun beobachten, dass der Indexwert NULL ist NULL.
mysql> Select Grade+0 As Grade_index from result; +-------------+ | Grade_index | +-------------+ | NULL | +-------------+ 1 row in set (0.00 sec)
Das obige ist der detaillierte Inhalt vonWie kann gezeigt werden, dass jede MySQL-Aufzählung einen Indexwert hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

Artikel erläutert die Sicherung von MySQL gegen SQL-Injektions- und Brute-Force-Angriffe unter Verwendung vorbereiteter Aussagen, Eingabevalidierung und starken Kennwortrichtlinien (159 Zeichen).
