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

mysql列不區(qū)分大小寫

MySQL是一款十分流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它支持多種編程語(yǔ)言和不同的操作系統(tǒng)。而在使用MySQL時(shí),經(jīng)常會(huì)遇到大小寫敏感的問(wèn)題,包括表名、列名、函數(shù)名等等。在默認(rèn)情況下,MySQL的列名是區(qū)分大小寫的,因此當(dāng)定義的列名與查詢語(yǔ)句中使用的列名大小寫不一致時(shí),會(huì)出現(xiàn)錯(cuò)誤。

CREATE TABLE user (
id INT,
userName VARCHAR(20)
);
SELECT userid, username FROM user;

在上述代碼中,我們定義了一個(gè)名為user的表,其中有一個(gè)大小寫為userName的列。但是在查詢語(yǔ)句中,我們錯(cuò)誤地將列名的首字母改為了小寫,導(dǎo)致該查詢語(yǔ)句無(wú)法執(zhí)行,出現(xiàn)錯(cuò)誤提示。

為了避免這類錯(cuò)誤,我們可以在MySQL中設(shè)置列名不區(qū)分大小寫。具體方法如下:

mysql>SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
mysql>SHOW VARIABLES LIKE 'lower_case_table_names';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| lower_case_table_names| 1     |
+-----------------------+-------+

在上述代碼中,我們執(zhí)行了兩條命令:第一條是將MySQL的sql_mode參數(shù)設(shè)置為NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,這是為了防止一些默認(rèn)的行為。第二條命令是查詢lower_case_table_names參數(shù)的值,通過(guò)該命令可以看出MySQL是否已經(jīng)設(shè)置了列名不區(qū)分大小寫。

不過(guò)需要注意的是,如果我們?cè)贛ySQL中設(shè)置了列名不區(qū)分大小寫,那么我們?cè)诓樵冋Z(yǔ)句中使用的列名必須與定義的列名完全一致,包括大小寫。否則MySQL會(huì)將查詢語(yǔ)句解析成定義的列名,這樣有時(shí)會(huì)導(dǎo)致意想不到的結(jié)果。