读书人

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

发布时间: 2012-09-02 21:00:34 作者: rapoo

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

SQL code
DELIMITER $$CREATE PROCEDURE `proce_test`(admin_name VARCHAR(32))BEGIN    SELECT create_time FROM information_schema.TABLES AS t WHERE t.table_name=admin_name LIMIT 1;END

当我调用它的时候,出现错误
SQL code
Query: call proce_test("LOG_ALWW")Error Code: 1267Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='

经检查,information_schema.TABLES编码为UTF-8,而且,如果我将“SELECT create_time FROM information_schema.TABLES AS t WHERE t.table_name=admin_name LIMIT 1;”改为查询当前数据库里的表(也是utf-8编码)数据时,完全没有问题。
百思不得其解,请大家支支招

[解决办法]


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

读书人网 >Mysql

热点推荐