Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was sind die unterschiedlichen Eigenschaften des MySQL ENUM-Datentyps?

WBOY
Freigeben: 2023-08-28 12:17:02
nach vorne
1170 Leute haben es durchsucht

MySQL ENUM 数据类型有哪些不同的属性?

MySQL-ENUM-Typen können mit den folgenden Eigenschaften definiert werden, die sich auf die zulässigen Werte auswirken –

  • NOT NULL – In ENUM-Typen sind standardmäßig NULL-Werte zulässig. Um NULL-Werte zu deaktivieren, müssen wir bei der Beschreibung der ENUM-Spalte das Attribut NOT NULL verwenden.
  • NULL – Das NULL-Attribut ist ein Synonym für DEFAULT NULL. Der Indexwert von NULL ist NULL.
  • DEFAULT – Das DEFAULT-Attribut bewirkt, dass der ENUM-Datentyp einen Standardwert hat, wenn kein Wert angegeben ist. Mit anderen Worten können wir sagen, dass die INSERT-Anweisung den Wert des Feldes nicht enthalten muss, denn wenn dies nicht der Fall ist, wird der Wert nach DEFAULT eingefügt. DEFAULT-Funktionen sind in Ausdrücken nicht zulässig. Für den ENUM-Datentyp umfassen die DEFAULT-Werte NULL und die leere Zeichenfolge ('').

Beispiel

Das folgende Beispiel demonstriert die Verwendung dieser Eigenschaften mit dem ENUM-Datentyp.

mysql> SET SESSION sql_mode = '';
Query OK, 0 rows affected (0.00 sec)

mysql> Create Table enumtesting(e_value ENUM('a','1')NOT NULL DEFAULT '1',id TINYINT NOT NULL);
Query OK, 0 rows affected (0.23 sec)

mysql>Insert into
enumtesting(e_value,id)values('1','1'),('',2),(NULL,3),('abc',4);
Query OK, 4 rows affected, 3 warnings (0.09 sec)
Records: 4 Duplicates: 0 Warnings: 3

mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level   | Code |  Message                                           |
+---------+------+----------------------------------------------------+
| Warning | 1265 | Data truncated for column 'e_value' at row 2       |
| Warning | 1048 | Column 'e_value' cannot be null                    |
| Warning | 1265 | Data truncated for column 'e_value' at row 4       |
+---------+------+----------------------------------------------------+
3 rows in set (0.00 sec)

mysql> Select * from enumtesting;
+----+---------+
| e_value | id |
+---------+----+
| 1       |  1 |
|         |  2 |
|         |  3 |
|         |  4 |
+---------+----+
4 rows in set (0.00 sec)

mysql> insert into enumtesting(id) values(5);
Query OK, 1 row affected (0.11 sec)

mysql> Select * from enumtesting;
+---------+----+
| e_value | id |
+---------+----+
| 1       | 1 |
|         | 2 |
|         | 3 |
|         | 4 |
| 1       | 5 |
+---------+----+
5 rows in set (0.00 sec)

mysql> select e_value, e_value+0 AS enum_index, id from enumtetsing;
+---------+------------+----+
| e_value | enum_index | id |
+---------+------------+----+
| 1       |          2 |   1|
|         |          0 |   2|
|         |          0 |   3|
|         |          0 |   4|
| 1       |          2 |   5|
+---------+------------+----+
5 rows in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas sind die unterschiedlichen Eigenschaften des MySQL ENUM-Datentyps?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage