在MySQL SET列中存储数字

时间:2013-02-07 09:18:55

标签: mysql insert

我应该如何在SET列中插入数字?我知道对于ENUM,建议不要在ENUM列中存储数字,并且数字应该插入''。 SET列是否相同?应该用''插入数字?像'1','2'或插入它可以很好:1,2,

3 个答案:

答案 0 :(得分:1)

使用SET值名称插入并将它们用单引号括起来并用逗号分隔。

来自here的简约示例:

CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
INSERT INTO myset (col) VALUES ('a,d,d,s');

答案 1 :(得分:0)

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

其次,您的设置定义实际上不应包含数字。 “一个人”没关系,“1”会非常混乱。

第三,如果你插入12等数字,那么它实际上会插入集合的第n个成员而不是那个数字,而如果你插入'1'它会插入该成员。如果您按顺序拥有以下成员的集合,则会出现差异:'foo', 'bar', '1', '2' - 如果您插入'1',则与插入3相同,但如果您插入1 'foo'它与{{1}}相同。

底线:不要使用SET和ENUM列类型。

答案 2 :(得分:-1)

数字应该插入1,2,3。 如果你把单引号像'1','2'那样考虑为字符。