set是修改系统参数或者设置变量用的,例如:
-- 设置字符集为utf8set GLOBAL character_set_server='utf8'
-- 设置变量等于某个值
set @d=11
select @d -- 此处可查到d的值为11
mysqlset类型是5.6版本。mysqlset函数原型是intmysql_set_character_set(MYSQL*mysql,char*csname)。该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SETNAMES语句类似,但它还能设置mysql->charset的值,从而影响了由mysql_real_escape_string()设置的字符集。该函数是在MySQL5.0.7中增加的。该函数0表示成功,非0值表示出现错误。集合(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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)