首页 > 数据库 >Mysql变量插入中文失败

Mysql变量插入中文失败

时间:2022-10-20 17:36:39浏览次数:43  
标签:中文 set description utf8 mysql character +--------------------------+------------

当给变量赋值中文时,报错:

mysql> create procedure pro_test4()
    -> begin
    -> declare height int default 175;
    -> declare description varchar(50) default '';
    -> if height>=180 then
    ->   set description='高挑';
    -> elseif height>=170 then
    ->   set descriptioin='标准';
    -> else
    ->   set description='一般';
    -> end if;
    -> select concat('身高',height,'对应的身材类型为:',description);
    -> end$

  

ERROR 1366 (HY000): Incorrect string value: '\xE6\xA0\x87\xE5\x87\x86' for column 'description' at row 1

 

修改方法:

1、查询当前数据库字符集类型:

mysql> show variables like 'character%'$
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
 

 

2、修改当前数据库字符集类型:

mysql> alter database db1 character set utf8;
    -> $
Query OK, 1 row affected (0.00 sec)

mysql> show variables like 'character%'$
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

 

3、重新执行存储过程成功:

mysql> call pro_test4()$
+-------------------------------------------------------------------+
| concat('身高',height,'对应的身材类型为:',description)            |
+-------------------------------------------------------------------+
| 身高175对应的身材类型为:标准                                     |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

  

标签:中文,set,description,utf8,mysql,character,+--------------------------+------------
From: https://www.cnblogs.com/haokan/p/16810609.html

相关文章

  • CentOs 7 安装mysql(5.7.27)数据库
    CentOs7安装MySQL1.查看是否已经安装Mysql[root@srv01~]# rpm-qa|grepmysql# 如果你查看出来有东西,可以使用下面命令将其删除[root@srv01~]# ......
  • Mybatis 插入时设置参数异常: Invalid argument value: java.io.NotSerializableExcept
    记录一个因为同事代码生成造成的问题因为代码中大量的自动生成代码,所以看到LongVARCHAR我也没有过多怀疑  最后定位发现还是自动生成的问题,只是原有的生成代码未使......
  • MySQL分组排序取每组第一条
    1.使用group_concat函数,但是弊端只能查询groupby后的字段参考: MySQL分组排序取每组第一条(最大值、最小值)MySQL的GROUP_CONCAT函数详解效果: ......
  • MySQL-class
    数据库和SQL概念数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它的产生距今已有六十多年。随着信息技术和市场的发展,数据库变的无处不在:它在电子商务、......
  • c++ list插入
    list::insert()用于在列表的任何位置插入元素。用法:insert(pos_iter,ele_num,ele)参数:此函数接受三个参数:pos_iter:在容器中插入新元素的位置。ele_num:要插入的......
  • Django Rest Framework中文文档:Serializer relations
    这是对DRF官方文档:Serializerrelations的翻译,根据个人的理解对内容做了些补充、修改和整理。一,django模型间的关系在我们对数据进行建模时,最重要的一点就是根据功能需求......
  • mysql系列-常用语句
    一查看空间碎片-库维度   selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024/1024,2))as'数据容量(GB)'......
  • MySQL-explain
    转自:https://www.cnblogs.com/ciel717/p/16180093.html通常查询慢查询SQL语句时会使用EXPLAIN命令来查看SQL语句的执行计划,通过返回的信息,可以了解到Mysql优化器是如何执......
  • Mysql 身份认证绕过漏洞(CVE-2012-2122)
    参考文章:http://t.csdn.cn/CJuGe搭建环境https://vulhub.org/#/environments/mysql/CVE-2012-2122/主机准备准备两台主机,一台ubuntu(192.168.12.137),一台kail,均处于......
  • MySQL5.7二进制安装
    1、上传安装包到服务器,并解压tarzxvfmysql-5.7.33-linux-glibc2.12-x86_64.tar.gz-C/usr/local/mv/usr/local/mysql-5.7.33-linux-glibc2.12-x86_64/usr/local/my......