一开始用phpMyAdmin来执行,后来出现一堆错误,后来去掉了begin,end之后可以正常执行,但要执行存储过程,在phpMyAdmn中不行,而在mysql命令行文本框中就可以。 接下来又遇到更难的问题,在存储过程中加入预处理语句,更不行了,在mysql命令行文本框下执行同样,下面的运行记录,给大家参考,能否有高手来帮助。 //原本的存储过程语句 EATE PROCEDURE catalog_get_products_in_category( IN inCategoryId INT, IN inShortProductDescriptionLength INT, IN inProductsPerPage INT, IN inStartItem INT) BEGIN PREPARE statement FROM "SELECT p.product_id, p.name,IF(LENGTH(p.description) <= ?, p.description, CONCAT(LEFT(p.description, ?),'...')) AS description, p.price, p.discounted_price, p.thumbnail FROM product p INNER JOIN product_category pc ON p.product_id = pc.product_id WHERE pc.category_id = ? ORDER BY p.display DESC LIMIT ?, ?"; SET @p1 = inShortProductDescriptionLength; SET @p2 = inShortProductDescriptionLength; SET @p3 = inCategoryId; SET @p4 = inStartItem; SET @p5 = inProductsPerPage; EXECUTE statement USING @p1, @p2, @p3, @p4, @p5; END$$ mysql> delimiter $$ mysql> CREATE PROCEDURE catalog_get_products_in_category( -> IN inCategoryId INT, IN inShortProductDescriptionLength INT, -> IN inProductsPerPage INT, IN inStartItem INT) -> BEGIN -> PREPARE statement FROM -> "SELECT p.product_id, p.name,IF(LENGTH(p.description) <= ?, p.descript ion, "> CONCAT(LEFT(p.description, ?),'...')) AS description, p.price, p.disco unted_price, p.thumbnail "> FROM product p INNER JOIN product_category pc ON p.product_id = pc.pro duct_id "> WHERE pc.category_id = ? "> ORDER BY p.display DESC "> LIMIT ?, ?"; -> SET @p1 = inShortProductDescriptionLength; -> SET @p2 = inShortProductDescriptionLength; -> SET @p3 = inCategoryId; -> SET @p4 = inStartItem; -> SET @p5 = inProductsPerPage; -> EXECUTE statement USING @p1, @p2, @p3, @p4, @p5; -> END$$ ERROR (0A): PREPARE is not allowed in stored procedures 上面有两个存储过程,一个不用预处理语句,一个用了预处理语句, 之后,向作者发过邮件,没有答复,又给mysql官方发过邮件,同样没答复。现今只能求助诸位高人。
推荐整理分享mysql 存储过程的问题(mysql8.0存储过程),希望有所帮助,仅作参考,欢迎阅读内容。
![mysql 存储过程的问题(mysql8.0存储过程)](https://www.jiuchutong.com/image/20240129/1706495047.jpg)
文章相关热门搜索词:mysql存储过程的优点是什么,mysql存储过程的语句块以什么开始以什么结束,mysql存储过程语句,mysql 存储过程的调度工具,mysql 存储过程的作用,Mysql存储过程的修改,mysql存储过程的优点是什么,mysql存储过程的优点是什么,内容如对您有帮助,希望把文章链接给更多的朋友!
Mysql my.ini 配置文件详解 Mysqlmy.ini配置文件详解#BEGINCONFIGINFO#DESCR:4GBRAM,只使用InnoDB,ACID,少量的连接,队列负载大#TYPE:SYSTEM#ENDCONFIGINFO##此mysql配置文件例子针对4G内存#主要使用INNODB#
java实现插入mysql二进制文件,blob类型,遇到问题及解决办法 首先是数据库建立要准备的:我们要把放置二进制字段设置为Blob类型,根据文件的大小选择合适的Blob类型,一下是各个Blob类型所能容纳二进制文件的
mysql 控制台操作 一、连接mysql数据库1.首先打开cmd进入dos窗口2.切换至目录:D:MySql5.0mysql-5.0.b-winbin(即:mysql安装目录下面的bin目录,该目录内有很多exe执行文件)3