mysql: недопустимое смешение параметров сортировки в задаче процедуры магазина - PullRequest
0 голосов
/ 14 марта 2011

Я получаю эту ошибку: Illegal mix of collations (greek_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '=', когда я вызываю мою процедуру хранения:

DELIMITER //

CREATE PROCEDURE setVehicleStats (vehID text, vehStatus text, vehLat double, vehLon double)
BEGIN

    UPDATE vehicles SET st=vehStatus, lat=vehLat, lon=vehLon WHERE id=vehID;

END//

хотя у меня нет проблем , когда я запускаю запрос UPDATE напрямую: UPDATE vehicles SET st='Καλημέρα' WHERE id='A001';

Я пытался явно объявить набор символов для каждого столбца и т. Д. Проблема, кажется, возникает только при вызове процедуры! Любая помощь ?? Спасибо ...

1 Ответ

0 голосов
/ 14 марта 2011

Думаю, проблема в сопоставлении параметра vehStatus. Похоже, для сервера или набора символов по умолчанию для соединения установлено значение latin1, а для сопоставления greek_general_ci используется набор символов greek (ISO 8859-7). Попробуйте объявить ваш параметр следующим образом:

vehStatus text character set greek
...