当我调用我的这个商店程序时,我收到此错误: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';
我试图明确声明每个列的字符集等。问题似乎只在我调用该过程时才会发生!任何帮助?感谢...
答案 0 :(得分:0)
我认为问题在于vehStatus
参数的整理。服务器或连接默认字符集似乎设置为latin1
,greek_general_ci
排序规则使用greek
字符集(ISO 8859-7)。
尝试像这样声明你的参数:
vehStatus text character set greek