MySQL中的ENUM是一種數據類型,它允許在數據庫中存儲一組預定義的值。以下是關于ENUM的更多信息。
CREATE TABLE my_table ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, color ENUM('red', 'green', 'blue') );
在這個例子中,我們創建了一個名為my_table的表,并將其中的color列定義為ENUM類型。我們指定了三個可能的值:red,green,blue。當我們在表格中插入一個新行時,我們將只能使用這三種值之一。如果我們嘗試使用其他的值,我們會收到錯誤消息。
INSERT INTO my_table (color) VALUES('red'); INSERT INTO my_table (color) VALUES('green'); INSERT INTO my_table (color) VALUES('blue'); INSERT INTO my_table (color) VALUES('yellow');
在這些示例中,我們向my_table表中插入四個行,其中三個行中顏色的值應該有效,而最后一個應該被拒絕。這是因為yellow不是ENUM類型中的一個有效值。
SELECT * FROM my_table;
當我們運行SELECT命令時,我們可以看到從表格中檢索出來的所有四行。
+----+-------+ | id | color | +----+-------+ | 1 | red | | 2 | green | | 3 | blue | | 4 | null | +----+-------+
最后,在此SELECT輸出中,我們將看到第四行的值為null。這是因為我們在該行中未為color列指定值。由于我們已將該列定義為ENUM類型,MySQL將此null值視為無效值,并將其替換為默認值。