0

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

4

3 回答 3

1

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

来自这里的简约示例:

CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
INSERT INTO myset (col) VALUES ('a,d,d,s');
于 2013-02-07T09:22:53.757 回答
0

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

其次,您的集合定义确实不应该包含数字。'一' 是可以的,'1' 会非常混乱。

第三,如果你插入像1,2等这样的数字,那么它实际上会插入集合的第 n 个成员而不是那个数字,而如果你插入'1'它将插入那个成员。当您有一个按该顺序包含以下成员的集合时,差异就会出现:'foo', 'bar', '1', '2'- 如果您插入'1'它将与插入 a 相同3,但如果您插入 a1它将与'foo'.

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

于 2013-02-07T09:23:45.950 回答
-1

数字应该像 1 ,2 ,3 这样插入。如果您放入像“1”,“2”这样的单引号,这被认为是字符。

于 2013-02-07T09:24:27.057 回答