国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql set類型字段問題

瀏覽:142日期:2022-06-19 13:58:33

問題描述

mysql設計的時候遇到一個多選項問題,搜索了一番似乎使用SET類型比較方便實現。

雖然弄明白了SET字段的存儲及查詢方法,但無奈能搜到的資料有限,還是有兩個問題找不到頭緒。

假設字段名為 flag ,SET的預設值有 A,B,C,D,E,F,G六個。

因為SET的預設值可能會增多,那么怎么能自動讀出 SET的所有的預設值呢?

對于查詢含有某個或者某幾個值的時候可以使用:

SELECT * FROM table WHERE FIND_IN_SET(’A’,flay);SELECT * FROM table WHERE FIND_IN_SET(’A,C’,flay); 類似的進行查詢。但如果想要查詢哪些包含一個選項(只有A或者B或者C……),哪些包含多個選項該怎么查詢呢(AC,BCD什么的)?

問題解答

回答1:

這個確實比較惡心,方法有二,但都不怎么好

desc table_name set_column_name

到information_schema里面去select這兩種方法的可編程性都較差。如果我來搞的話,我可能會再創建一張表來存選項列表

貌似也沒啥好辦法,可以用select char_length(set_column_name) from table_name;來看字符數,間接的搞定

回答2:

CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` char(1) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

以這種結構來存儲會比較靈活。

相關文章:
主站蜘蛛池模板: 彰武县| 合江县| 万宁市| 安平县| 四川省| 从江县| 大悟县| 吉水县| 鹤山市| 封开县| 宾阳县| 兴隆县| 敖汉旗| 淮阳县| 建阳市| 新化县| 尚义县| 兰州市| 调兵山市| 隆尧县| 三亚市| 犍为县| 达尔| 凤台县| 曲阳县| 阳朔县| 龙江县| 巫溪县| 顺昌县| 西青区| 沂水县| 拉萨市| 盐津县| 文化| 乐平市| 芒康县| 汉源县| 马鞍山市| 淳安县| 常德市| 罗江县|