mysql 中的set

mysql 中的set,第1张

set是修改系统参数或者设置变量用的,例如:

-- 设置字符集为utf8

set 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


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

原文地址: http://outofmemory.cn/zaji/8477195.html

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

发表评论

登录后才能评论

评论列表(0条)

保存