欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql枚舉不報錯

林國瑞2年前9瀏覽0評論

MySQL 中的枚舉數(shù)據(jù)類型經(jīng)常被用來存儲只有一些特定值的數(shù)據(jù)。由于 MySQL 的枚舉類型比較寬松,有時候可能會出現(xiàn)一些不應(yīng)該出現(xiàn)的值,但是 MySQL 并不會報錯的情況。

CREATE TABLE fruits (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
color ENUM('red', 'yellow', 'green', 'purple')
);
INSERT INTO fruits (name, color) VALUES ('banana', 'yellow');
INSERT INTO fruits (name, color) VALUES ('apple', 'red');
INSERT INTO fruits (name, color) VALUES ('grape', 'purple');
INSERT INTO fruits (name, color) VALUES ('watermelon', 'red');

例如,以上代碼創(chuàng)建了一個水果表,并定義了一個顏色枚舉類型,只能取 'red', 'yellow', 'green' 或 'purple' 這四種值。但是,如果我們插入一個不在枚舉類型中的值,比如 'blue':

INSERT INTO fruits (name, color) VALUES ('blueberry', 'blue');

MySQL 并不會報錯,而是將該值轉(zhuǎn)換成字符串 'blue' 存入枚舉類型中。如果我們查詢該記錄,會發(fā)現(xiàn)顏色是 'blue':

SELECT * FROM fruits WHERE name = 'blueberry';

因此,我們需要時刻注意 MySQL 的枚舉類型比較寬松,避免出現(xiàn)不應(yīng)該出現(xiàn)的值。在設(shè)計表結(jié)構(gòu)時,應(yīng)該盡量將數(shù)據(jù)類型定義得更加嚴(yán)格,避免數(shù)據(jù)異常。