mysql调用存储过程出现Illegal mix of collations错误

mysql调用存储过程出现Illegal mix of collations错误,检查如下,

1. 查看character_set,看是不是有不一致的,如有需改为一致

show variables where Variable_name like 'character_set%';

修改character_set_server的方法:编辑mysql安装目录下的my.ini,在[mysqld]下添加 character-set-server=utf8

 

2. 查看collation是不是有不一致的,如有需改为一致.

show variables where Variable_name like 'collation%';

修改数据库的collation:

alter database databasename collate utf8_general_ci 

 

3.查看用到的表的collation是不是存在不一致的,同时需检查表的字段的collation

show table status from db_name

修改表或字段的collation,可用navicat for mysql 工具,在设计表界面中设置。

 

4.以上都没问题,还报错(我就是),则需重建procedure,每个字符型的参数后指定字符集

CREATE PROCEDURE `proce_test`(admin_name VARCHAR(32) charset utf8)

 

参考:

mysql调用存储过程出现Illegal mix of collations错误

FAQ系列 - 调用存储过程时报错 Illegal mix of collations

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT)

怎样改变数据库及表的Collation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值