mysql: код ошибки [1267]; Недопустимое сочетание параметров сортировки (latin1_general_cs, IMPLICIT) и (latin1_swedish_ci, IMPLICIT) для операции '='

Я хочу сделатьpassword столбец моей таблицы пользователя будетcase sensitive в mysql.

Ниже приводится описание таблицы:

/*Table: mst_user*/

   FIELD          TYPE          COLLATION        
-------------  ------------  -----------------
user_id        VARCHAR(100)  latin1_swedish_ci
first_name     VARCHAR(25)   latin1_swedish_ci
last_name      VARCHAR(25)   latin1_swedish_ci
USER_PASSWORD  VARCHAR(50)   latin1_swedish_ci
user_status    INT(11)       (NULL)           
version_id     INT(11)       (NULL)           
active_status  INT(11)       (NULL)           
user_type      INT(11)       (NULL)    

Чтобы сделатьUSER_PASSWORD чувствительно к регистру я выполнил следующий запрос:

ALTER TABLE `mst_user` MODIFY `USER_PASSWORD` VARCHAR(50) COLLATE `latin1_general_cs`;

Это сработало, и поле теперь чувствительно к регистру.

Но у меня есть процедура магазина, которая выполняетSELECT запрос к этой таблице, чтобы проверить, существует ли пользователь для данных учетных данных.

Сохраненный процесс ::

CREATE PROCEDURE `usp_password_verify`(ip_login_id         VARCHAR(200),
                                 ip_user_password    VARCHAR(200),
                                INOUT success     INT(1),
INOUT tbl_usr_password          VARCHAR(100),
INOUT  pkg_user_password         VARCHAR(100))
BEGIN
  SELECT COUNT(*)
    INTO success
    FROM mst_user
   WHERE UPPER (user_id) = UPPER (ip_login_id)
   AND USER_PASSWORD=ip_user_password;

   SET tbl_usr_password = '';
   SET pkg_user_password= '';
END$

Когда я вызываю этот хранимый процесс из моего кода Java, я получаю следующую ошибку:

**error code [1267]; Illegal mix of collations (latin1_general_cs,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='**

Может кто-нибудь помочь, что не так с этим? Что-то, что работает как простой запрос, выдает ошибку при выполнении его в сохраненном процессе !?

Ответы на вопрос(3)

Ваш ответ на вопрос