发布网友 发布时间:2022-04-07 15:13
共2个回答
热心网友 时间:2022-04-07 16:42
基本判定为字符集的问题
通过以下代码可以复现:
drop procere if exists delete_employees ;在终端或者连接工具中执行会得到一致的错误
call delete_employees('李丽');Error Code: 1366. Incorrect string value: '\xE6\x9D\x8E\xE4\xB8\xBD' for column 'xm' at row 1这里建议在建立完存储过程后, 查下存储过程的字符集:
show create procere delete_employees;主要看结果中的这三列
本人使用的环境是utf8mb4字符集, 你看看你的会不会是latin1, 如果是的话两种方案
改数据库字符集, 通用些utf8或者支持emjio的utf8mb4, 重启mysql服务再重连试验
建立的每个存储过程手动指定字符集
如:
create procere delete_employees(in xm char(6) CHARSET utf8 COLLATE utf8_bin) ...这样再试试
热心网友 时间:2022-04-07 18:00
字符串类型 在加单引号 姓名='xm'