修改set类型,确保将插入值与定义值是一致
  oLfaA9vyoaK9 2023年11月02日 29 0
mysql> insert into tb_demo(hobby)values('basketball'),('volleyball,football'),('football,football,basketball');
ERROR 1265 (01000): Data truncated for column 'hobby' at row 2

mysql> desc tb_demo;
+---------+------------------------------------------+------+-----+---------+-------+
| Field   | Type                                     | Null | Key | Default | Extra |
+---------+------------------------------------------+------+-----+---------+-------+
| id      | int(11)                                  | YES  |     | NULL    |       |
| name    | varchar(30)                              | YES  |     | NULL    |       |
| age     | tinyint(4)                               | YES  |     | NULL    |       |
| score   | float(4,1)                               | YES  |     | NULL    |       |
| sex     | enum('w','m')                            | YES  |     | NULL    |       |
| hobby   | set('football','basketball','volleyall') | YES  |     | NULL    |       |
| photo   | varbinary(255)                           | YES  |     | NULL    |       |
| spend   | decimal(5,1)                             | YES  |     | NULL    |       |
| address | json                                     | YES  |     | NULL    |       |
| intro   | text                                     | YES  |     | NULL    |       |
+---------+------------------------------------------+------+-----+---------+-------+
10 rows in set (0.00 sec)


mysql> alter table tb_demo modify hobby set('football','basketball','volleyball');
Query OK, 18 rows affected (0.02 sec)
Records: 18  Duplicates: 0  Warnings: 0

mysql> desc tb_demo;
+---------+-------------------------------------------+------+-----+---------+-------+
| Field   | Type                                      | Null | Key | Default | Extra |
+---------+-------------------------------------------+------+-----+---------+-------+
| id      | int(11)                                   | YES  |     | NULL    |       |
| name    | varchar(30)                               | YES  |     | NULL    |       |
| age     | tinyint(4)                                | YES  |     | NULL    |       |
| score   | float(4,1)                                | YES  |     | NULL    |       |
| sex     | enum('w','m')                             | YES  |     | NULL    |       |
| hobby   | set('football','basketball','volleyball') | YES  |     | NULL    |       |
| photo   | varbinary(255)                            | YES  |     | NULL    |       |
| spend   | decimal(5,1)                              | YES  |     | NULL    |       |
| address | json                                      | YES  |     | NULL    |       |
| intro   | text                                      | YES  |     | NULL    |       |
+---------+-------------------------------------------+------+-----+---------+-------+
10 rows in set (0.00 sec)

mysql> insert into tb_demo(hobby)values('basketball'),('volleyball,football'),('football,football,basketball');
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select hobby from tb_demo;
+---------------------+
| hobby               |
+---------------------+
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| NULL                |
| basketball          |
| football,volleyball |
| football,basketball |
+---------------------+
21 rows in set (0.00 sec)

mysql> delete  from tb_demo where hobby=' ' or hobby  IS NULL ;

mysql> select hobby from tb_demo;
+---------------------+
| hobby               |
+---------------------+
| basketball          |
| football,volleyball |
| football,basketball |
+---------------------+

操作技巧:

1、在使用SET类型时,一定要按照预先定义的选项进行数据插入。如果插入了不存在的选项,将导致插入失败。

2、如何删除某个字段为空值时的记录。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 条件查询 下一篇: 数据库连接详解
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
oLfaA9vyoaK9
最新推荐 更多

2024-05-17