《MYSQL教程MYSQL SET類型字段的SQL操作知識介紹》要點(diǎn):
本文介紹了MYSQL教程MYSQL SET類型字段的SQL操作知識介紹,希望對您有用。如果有疑問,可以聯(lián)系我們。
代碼如下:
<em>`mark` set('index','best','hot')</em>?
用的人少,懂的人也少,找了很久,總算湊齊了一套知識點(diǎn)
看上面的結(jié)構(gòu),MYSQL不傻,會存index嗎,不會,存的是數(shù)字
SET字段是利用二進(jìn)制數(shù)字來一一對應(yīng)你設(shè)置的值,比如index,排在第0位,那么2的零次方等于1
代碼如下:
update from table SET mark=1?
代碼如下:
update from table SET mark='index'?
上面兩個效果是一樣的.
接著問題就來了,就像織夢那樣,如果我想將一篇文章添加一個熱門,但是不想刪除其它標(biāo)識在呢么辦,或者我就想刪除一個標(biāo)識,我也不知道以前有什么標(biāo)識.
以下是添加標(biāo)識
代碼如下:
update from table SET mark=mark |1|2
不要問我為什么用|這個東東,上面的意思是添加index、best兩個標(biāo)識,如果只添加hot標(biāo)識,寫成|4就可以了
下面是刪除標(biāo)識
代碼如下:
update from table SET mark=mark &~4&~1?
好了,我先說了更新,下面說查詢
代碼如下:
SELECT * FROM table WHERE FIND_IN_SET('hot',mark)?
這個是最簡單的查詢方法,也可以用hot所在位置的二進(jìn)制數(shù)4來替代查詢,效率是一樣的
也可以這么寫:
代碼如下:
SELECT * FROM table WHERE mark & 1?
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/5987.html