2013-02-07 67 views
0

應該如何在SET列中插入數字?我知道,對於ENUM,建議不要在ENUM列中存儲數字,並且數字應該插入''。 SET列是否一樣?應該用''插入數字?像'1','2'一樣,還是可以插入:1,2?將數字存儲在MySQL SET列中

回答

0

首先,不使用MySQL的SET和ENUM列類型。

其次,你的設置定義確實不應該包含數字。 '一'是好的,'1'會非常混亂。第三,如果你插入數字如1,2等,那麼它實際上會插入集合的第n個成員而不是那個數字,而如果你插入'1'它將插入該成員。當您按以下順序設置了以下成員時,會出現差異:'foo', 'bar', '1', '2' - 如果您插入'1',它將與插入3相同,但如果插入1,它將與'foo'相同。

底線:不要使用SET和ENUM列類型。

+0

沒有足夠的解釋或參考廣泛的聲明,如「不要使用此功能」 –

1

您可以使用SET值名稱進行插入,並將它們括在單引號中並用逗號分隔它們。從here

簡約例如:

所有的
CREATE TABLE myset (col SET('a', 'b', 'c', 'd')); 
INSERT INTO myset (col) VALUES ('a,d,d,s'); 
-1

數字應該像1,2,3一樣插入。 如果您將單引號設置爲'1','2',則考慮爲字符。