Rumah > pangkalan data > tutorial mysql > Mengapa kita tidak boleh menyimpan nombor ke dalam lajur MySQL ENUM?

Mengapa kita tidak boleh menyimpan nombor ke dalam lajur MySQL ENUM?

WBOY
Lepaskan: 2023-09-04 12:29:09
ke hadapan
1274 orang telah melayarinya

为什么我们不应该将数字存储到 MySQL ENUM 列中?

MySQL menyimpan nilai ENUM secara dalaman sebagai kunci integer (nombor indeks) untuk merujuk ahli ENUM. Sebab utama untuk tidak menyimpan nilai integer dalam lajur ENUM ialah jelas MySQL akhirnya merujuk indeks dan bukannya nilai dan sebaliknya.

Contoh

Contoh berikut boleh menjelaskan:

mysql> Create table enmtest(Val ENUM('0','1','2'));
Query OK, 0 rows affected (0.18 sec)

mysql> Insert into enmtest values('1'),(1);
Query OK, 2 rows affected (0.19 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> Select * from enmtest;
+-----+
| Val |
+-----+
| 1   |
| 0   |
+-----+
2 rows in set (0.00 sec)
Salin selepas log masuk

Di sini, kami memasukkan '1' sebagai rentetan dan secara tidak sengaja juga memasukkan nombor 1 tanpa petikan. MySQL secara mengelirukan menggunakan input berangka kami sebagai nilai indeks, yang merupakan rujukan dalaman kepada item pertama dalam senarai ahli (iaitu 0).

Atas ialah kandungan terperinci Mengapa kita tidak boleh menyimpan nombor ke dalam lajur MySQL ENUM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan