mysql创建存储过程中的问题
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)错误。
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)BEGINDECLARE 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创建存储过程中的问题的更多相关文章
- [转]MYSQL 创建存储过程
MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...
- MySql创建存储过程,并使用事件定时调用
一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板 delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ' ...
- mysql 创建存储过程
mysql 创建存储过程 实例一: CREATE PROCEDURE cp_test() BEGIN declare a int; declare b int; ; ; select a,b; END ...
- mysql -- 创建存储过程 往数据表中新增字段
需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作:若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: ...
- iBatis调用存储过程以及MySQL创建存储过程
首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...
- mysql 创建存储过程 创建1000w测试数据表
存储过程:The stored procedure 结构 CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE stored_procedure_n ...
- Mysql向存储过程中传递中文参数变成乱码的解决方案
今天做程序需要用到一个存储过程,然后用php程序调用. 存储过程如下: delimiter $$ CREATE PROCEDURE disagree_upgrade_detail(a int,b t ...
- mysql创建存储过程及调用
创建存储过程简单示例: DELIMITER //CREATE PROCEDURE ccgc()BEGINSELECT * FROM TEXT;SELECT * FROM s_user;END//DEL ...
- mysql 创建存储过程报错
在创建存储过程前把结束符定义为 delimiter // 然后再创建就不会报错
随机推荐
- 低压差稳压器AMS1585
(1)高效线性稳压. (2)输出高达4.6A,最高输入电压15V,推荐最低压差1.5V(最低1.35V),最大压差12V. (3)两种封装:TO220(直插式),TO230(贴片). 典型电路如下图所 ...
- Codevs 3305 水果姐逛水果街Ⅱ 倍增LCA
题目:http://codevs.cn/problem/3305/ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Des ...
- EasyWebServer编写CGI程序的环境变量
示例: SERVER_SOFTWARE=EasyWebServer/1.9 SERVER_PROTOCOL=HTTP/1.1 SERVER_PORT= SERVER_NAME=aozima-noteb ...
- SQL-LINQ-Lambda语法对照
SQL LINQ Lambda SELECT *FROM HumanResources.Employee from e in Employees select e Employees .Select ...
- python实现应用程序在右键菜单中添加打开方式
最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写 1.需求拆解: 如何实现手动添加右键菜单的打开方式: Step1:打开注册表编辑器,Win+R-> ...
- thinkphp 获取客户端ip地址方法
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @param boolean $adv 是否进行高级模式获取(有 ...
- TortoiseSVN搭建本地版本库及简单操作使用
TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创 ...
- Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)
Access中出现改变字段"自己主动编号"类型,不能再改回来! (已解决) 一次把access中的自增字段改成了数值,再改回自增时,提示:在表中输入了数据之后,则不能将不论什么字段 ...
- docker 查看容器详细
http://www.docker.org.cn/book/docker/checking-running-image-12.html
- Linux多线程——使用互斥量同步线程
前文再续,书接上一回,在上一篇文章: Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上一篇文章中,要使用两 ...