【发布时间】:2020-08-15 07:55:38
【问题描述】:
如何插入表 SET 数据类型?
当我尝试插入 SET 数据(在 MySQL 中)时 - 它成功插入(没有警告或错误),但我得到一个空单元格而不是一个由数据填充的单元格。
我试过这样:
INSERT INTO `individual_rate`(`user_id`, `movie_id`, `rate_code`, `rate_parts`)
VALUES (3, 13,('1, 0, 0, 0, 0, 0'),('81, 102, 0, 102'))
也试过这样:
INSERT INTO `individual_rate`(`user_id`, `movie_id`, `rate_code`, `rate_parts`)
VALUES (3, 13,'1, 0, 0, 0, 0, 0','81, 102, 0, 102')
它将数据插入到user_id 和movie_id,但没有为rate_code 和rate_parts 执行此操作
表结构:
CREATE TABLE `individual_rate` (
`user_id` int(11) NOT NULL,
`movie_id` int(11) NOT NULL,
`rate_code` set('n','a','f','d','s','e') COLLATE utf8_unicode_ci NOT NULL COMMENT 'rate code',
`rate_parts` set('top_f','bottom_f','top_a','bottom_a') COLLATE utf8_unicode_ci NOT NULL COMMENT 'generated parts'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我做错了什么?
【问题讨论】:
-
将
'1, 0, 0, 0, 0, 0'插入定义为set('n','a','f','d','s','e')的列时会发生什么? -
@forpas 我希望 set 填充此数据(数字)。这不是我应该期待的?
-
但是您将集合定义为仅包含:'n','a','f','d','s','e'。
-
哦,现在我明白了。我认为
set是一个数组,并希望我可以填写它的字段。
标签: mysql sql set sqldatatypes