mysql数据库可以设计集合字段吗

mysql数据库可以设计集合字段吗,第1张

字段类型为集合,建议采用泛型,如Set<User>. 不采用泛型,如Set也是可以的,赋值与取值时注意类型转换即可。字段类型为集合,对应数据库的列,最常见的情况就是多对多的关系,如用户、角色,他们之间有个关联表,关联表中有2个字段,都是指向其他表(用户表、角色表)的外键,那么在用户对象就有Set<Role>属性,在角色对象就有Set<User>属性。1对多的情况类似

集合(SET)

mysql>create table jihe(f1 set('f','m'))

Query OK, 0 rows affected (0.11 sec)

mysql>desc jihe

+-------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+--------------+------+-----+---------+-------+

| f1| set('f','m') | YES | | NULL| |

+-------+--------------+------+-----+---------+-------+

可以插入值 "f" "m"

mysql>insert into jihe values("f")

Query OK, 1 row affected (0.56 sec)

mysql>insert into jihe values("m")

Query OK, 1 row affected (0.19 sec)

可以按照序号输入 注意序号为 1 2 4 8 16 32 ....

mysql>insert into jihe values("1")

Query OK, 1 row affected (0.11 sec)

mysql>insert into jihe values("2")

Query OK, 1 row affected (0.11 sec)

所以如果是3那插入的值为 第一个和第二个

mysql>insert into jihe values("3")

Query OK, 1 row affected (0.17 sec)

+-------+

| f1|

+-------+

| f |

| m |

| f |

| m |

| f,m |

+-------+

其他字母不能插入

mysql>insert into jihe values("q")

ERROR 1265 (01000): Data truncated for column 'f1' at row 1

插入空

mysql>insert into jihe values("0")

Query OK, 1 row affected (0.11 sec)

超出序号之和不能插入

mysql>insert into jihe values("4")

ERROR 1265 (01000): Data truncated for column 'f1' at row 1


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7441922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存