mysql创建存储过程中的问题
2016-03-17 13:24
731 查看
1.在创建存储过程成功后,使用call存储过程名执行时报错:
Illegalmixofcollations(utf8_unicode_ci,IMPLICIT)and(utf8_general_ci,IMPLICIT)错误。
解决方法:检查存储过程使用到的表格的编码方式,包括字段和表格本身。最后统一编码方式。在类型是属于字符、字符串这等类型的后面加上CHARSETutf8
例:
2.mysql报Fatalerrorencounteredduringcommandexecution的解决办法
连接字符串里加上
AllowUserVariables=True
解决。
否则时不时的报错,存储过程名长一点也报错,又有时报有时不报,参数传1位数就正常2位数就报错等……
Illegalmixofcollations(utf8_unicode_ci,IMPLICIT)and(utf8_general_ci,IMPLICIT)错误。
解决方法:检查存储过程使用到的表格的编码方式,包括字段和表格本身。最后统一编码方式。在类型是属于字符、字符串这等类型的后面加上CHARSETutf8
例:
DELIMITER$$
USE`mall`$$
DROPPROCEDUREIFEXISTS`Prc_AddArticleInfo`$$
CREATEDEFINER=`root`@`localhost`PROCEDURE`Prc_AddArticleInfo`(snamesTEXTCHARSETutf8,contentsTEXTCHARSETutf8,createdtimesDATETIME,voidtimesDATETIME,urlsTEXTCHARSETutf8,cagsVARCHAR(32)CHARSETutf8,usernamesVARCHAR(32)CHARSETutf8)
BEGIN
DECLAREuseridsINTDEFAULT0;
DECLAREgenreidsINTDEFAULT0;
DECLAREsnameTEXTCHARSETutf8DEFAULTNULL;
DECLAREscontentTEXTCHARSETutf8DEFAULTNULL;
DECLAREscreatedtimeTEXTCHARSETutf8DEFAULTNULL;
DECLAREsvoidtimeTEXTCHARSETutf8DEFAULTNULL;
DECLAREsurlTEXTCHARSETutf8DEFAULTNULL;
DECLAREusernameVARCHAR(32)CHARSETutf8DEFAULTNULL;
DECLAREcagVARCHAR(32)CHARSETutf8DEFAULTNULL;
SETsname=snames;
SETscontent=contents;
SETscreatedtime=createdtimes;
SETsvoidtime=voidtimes;
SETsurl=urls;
SETusername=usernames;
SETcag=cags;
SELECTidINTOgenreidsFROMgenresWHERENAME=cag;
SELECTadmin_user_idINTOuseridsFROMadmin_userWHEREadmin_user_name=username;
INSERTINTOarticle(NAME,content,createdtime,voidtime,url,genreid,userid)VALUES(sname,scontent,screatedtime,svoidtime,surl,genreids,userids);
END$$
DELIMITER;
2.
连接字符串里加上
AllowUserVariables=True
解决。
否则时不时的报错,存储过程名长一点也报错,又有时报有时不报,参数传1位数就正常2位数就报错等……
相关文章推荐
- mysql导出excel文件的几种方法
- mysql之视图
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- mysql查询索引加不加引号性能
- Mysql中文乱码问题完美解决方案
- MySQL主从复制配置
- mysql若不存在则插入写法
- MySQL索引使用方法和性能优化
- mysql更新语句获取受影响行数和插入记录id
- POSTGRESQL / mysql 索引区别(where)
- MYSQL导出数据库中的数据到文件
- MYSQL一个简单的问题 error: Failed dependencies: MySQL-server conflicts with mysql-server
- mysql的导入与导出
- mysql 基础安装
- mysqldump参数详细说明
- MySQL逻辑运算符 NULL运算结果
- 使用JDBC在MySQL数据库中快速批量插入数据
- MySQL Cluster简介和搭建例子
- 玩转binlog实现灵活的MySQL数据恢复
- MySQL数据库增量备份及恢复方案