1.在创建存储过程成功后,使用call 存储过程名执行时报错:

Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)错误。

解决方法:检查存储过程使用到的表格的编码方式,包括字段和表格本身。最后统一编码方式。在类型是属于字符、字符串这等类型的后面加上 CHARSET utf8
例:
DELIMITER $$
 
USE `mall`$$
 
DROP PROCEDURE IF EXISTS `Prc_AddArticleInfo`$$
 
CREATE DEFINER=`root`@`localhost` PROCEDURE `Prc_AddArticleInfo`(snames TEXT CHARSET utf8,contents TEXT CHARSET utf8,createdtimes DATETIME,voidtimes DATETIME,urls TEXT CHARSET utf8,cags VARCHAR(32) CHARSET utf8,usernames VARCHAR(32) CHARSET utf8)
BEGIN
DECLARE userids INT DEFAULT 0;
DECLARE genreids INT DEFAULT 0;
DECLARE sname TEXT CHARSET utf8 DEFAULT NULL;
DECLARE scontent TEXT CHARSET utf8 DEFAULT NULL;
DECLARE screatedtime TEXT CHARSET utf8 DEFAULT NULL;
DECLARE svoidtime TEXT CHARSET utf8 DEFAULT NULL;
DECLARE surl TEXT CHARSET utf8 DEFAULT NULL;
DECLARE username VARCHAR(32) CHARSET utf8 DEFAULT NULL;
DECLARE cag VARCHAR(32) CHARSET utf8 DEFAULT NULL;
SET sname=snames;
SET scontent=contents;
SET screatedtime=createdtimes;
SET svoidtime=voidtimes;
SET surl=urls;
SET username=usernames;
SET cag=cags;
SELECT id INTO genreids FROM genres WHERE NAME=cag;
SELECT admin_user_id INTO userids FROM admin_user WHERE admin_user_name=username;
INSERT INTO article(NAME,content,createdtime,voidtime,url,genreid,userid) VALUES(sname,scontent,screatedtime,svoidtime,surl,genreids,userids);
END$$
 
DELIMITER ;
 

连接字符串里加上

Allow User Variables=True

解决。

否则时不时的报错,存储过程名长一点也报错,又有时报有时不报,参数传1位数就正常2位数就报错等……

mysql创建存储过程中的问题的更多相关文章

  1. [转]MYSQL 创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  2. MySql创建存储过程,并使用事件定时调用

    一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板  delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ' ...

  3. mysql 创建存储过程

    mysql 创建存储过程 实例一: CREATE PROCEDURE cp_test() BEGIN declare a int; declare b int; ; ; select a,b; END ...

  4. mysql -- 创建存储过程 往数据表中新增字段

    需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作:若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: ...

  5. iBatis调用存储过程以及MySQL创建存储过程

    首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...

  6. mysql 创建存储过程 创建1000w测试数据表

    存储过程:The stored procedure 结构 CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE stored_procedure_n ...

  7. Mysql向存储过程中传递中文参数变成乱码的解决方案

    今天做程序需要用到一个存储过程,然后用php程序调用.  存储过程如下: delimiter $$ CREATE PROCEDURE disagree_upgrade_detail(a int,b t ...

  8. mysql创建存储过程及调用

    创建存储过程简单示例: DELIMITER //CREATE PROCEDURE ccgc()BEGINSELECT * FROM TEXT;SELECT * FROM s_user;END//DEL ...

  9. mysql 创建存储过程报错

    在创建存储过程前把结束符定义为 delimiter // 然后再创建就不会报错

随机推荐

  1. What version of .NET Framework is integrated into what version of OS?

    http://blogs.msdn.com/b/astebner/archive/2007/03/14/mailbag-what-version-of-the-net-framework-is-inc ...

  2. Linux学习笔记18——信号1

    一 信号的基本概念 信号:是向进程发送的软件通知,通知进程有事件发生. 生成:表示一个信号的产生. 捕获:表示接收到一个信号. 信号的寿命:信号的生成和传递之间的时间间隔. 挂起的信号:已经生成但还未 ...

  3. bzoj 1188 [HNOI2007]分裂游戏(SG函数,博弈)

    1188: [HNOI2007]分裂游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 733  Solved: 451[Submit][Status ...

  4. UVA 10561 Treblecross(博弈论)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=32209 [思路] 博弈论. 根据X分布划分禁区,每个可以放置的块为 ...

  5. HDU2037 今年暑假不AC 贪心算法

    贪心算法 : 贪心算法就是只考虑眼前最优解而忽略整体的算法, 它所做出的仅是在某种意义上的局部最优解, 然后通过迭代的方法相继求出整体最优解. 但是不是所有问题都可以得到整体最优解, 所以选择贪心策略 ...

  6. shiro能做什么,做j2ee时候要考虑什么

    转载: http://jinnianshilongnian.iteye.com/blog/2018398,         感谢原作者 <跟我学Shiro>PDF完结版下载 博客分类: 跟 ...

  7. Google协作平台

    本博文的主要内容有 .Google协作平台的介绍 1.Google协作平台的介绍 https://zh.wikipedia.org/wiki/Google%E5%8D%8F%E4%BD%9C%E5%B ...

  8. The Fortified Forest - POJ 1873(状态枚举+求凸包周长)

    题目大意:有个国王他有一片森林,现在他想从这个森林里面砍伐一些树木做成篱笆把剩下的树木围起来,已知每个树都有不同的价值还有高度,求出来砍掉那些树可以做成篱笆把剩余的树都围起来,要使砍伐的树木的价值最小 ...

  9. UVa11526 H(n)

    http://blog.csdn.net/synapse7/article/details/12873437 #include<cstdio> #include<cstring> ...

  10. Google Reader的另一个开源的替代品Go Read

    Google Reader到7月1号退休了,于是出现了一批Google Reader的替代品,比如Google Reader Is Shutting Down; Here Are the Best A ...