2013-02-07 31 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',则考虑为字符。