我正在尝试使用MySQL服务器上的Connector / J从Java运行存储过程(5.5.23)。 proc是
CREATE DEFINER = `[deleted]`@`localhost` PROCEDURE `GETGROUP`
( IN `uname` CHAR( 16 ) CHARSET latin1 ) NOT DETERMINISTIC READS SQL DATA SQL
SECURITY DEFINER SELECT `group` FROM `user` WHERE `username` = uname
然而,它错误地用
java.sql.SQLException: Illegal mix of collations (latin1_general_ci,IMPLICIT)
and (latin1_swedish_ci,IMPLICIT) for operation '='"
我在整个数据库中只使用latin1_general_ci,所以我不知道发生了什么。
答案 0 :(得分:1)
如果您愿意,可以强制uname
使用latin1_general_ci
将COLLATE latin1_general_ci
添加到声明的末尾。