高分求助mysql 存储过程报错以及如何返回受影响的行数

seqwait seqwait 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

DELIMITER $$
USE `xiehou_3`$$
DROP PROCEDURE IF EXISTS `proc`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc`(IN iuid INT,IN icnt INT)
BEGIN
DECLARE idate DATE;
SELECT `date` INTO idate FROM tb_act20140602_user_value WHERE uid=iuid;
IF idate IS NULL THEN
INSERT INTO tb_act20140602_user_value VALUES(iuid,icnt,NOW(),icnt,icnt,NOW());
ELSEIF idate=CONVERT(NOW(),DATE) THEN
UPDATE tb_act20140602_user_value SET daycnt=daycnt+icnt,maxcnt=maxcnt+icnt,`count`=`count`+icnt,lastModifyTime=NOW() WHERE uid=iuid;
ELSE
UPDATE tb_act20140602_user_value SET daycnt=icnt,maxcnt=maxcnt+icnt,`count`=`count`+icnt,lastModifyTime=NOW(),`date`=NOW() WHERE uid=iuid;
END IF;
END$$
DELIMITER;

以上语句执行后

(0 row(s) affected)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:047
Total Time : 00:00:00:047

(0 row(s) affected)
Execution Time : 00:00:00:032
Transfer Time : 00:00:01:201
Total Time : 00:00:01:233

(0 row(s) affected)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:015
Total Time : 00:00:00:015

错误码: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1

Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000


存储过程proc创建成功


调用结果

(1 row(s) affected)
Execution Time : 00:00:00:093
Transfer Time : 00:00:00:000
Total Time : 00:00:00:093

我就想问为毛有一行报错

顺便问下如何返回受影响的行数
...全文

相关推荐

mysql获取group by总记录行数的方法

本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考。具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数。 mysql中可以使用SQL_CALC_FOUND_ROWS来获取查询的行数,在很多分页的程序中都这样写: 代码如下:SELECT COUNT(*) from `table` WHERE ……; 查出符合条件的记录总数: 代码如下:SELECT * FROM `table` WHERE …… limit M,N; 查询当页要显示的数据 这样的语句可以改成: 代码如下:SELECT

weixin_38711643

MySQL学生成绩管理系统实战:表结构设计、查询优化与存储过程

关系型数据库通过表、主外键和约束管理结构化数据,MySQL作为主流关系型数据库,支持事务、索引和存储过程等核心特性。在教务场景中,学生、课程与成绩构成典型多对多关系,利用MySQL建库建表、外键约束和聚合查询,可有效解决数据重复与统计错误问题。合理设计索引和编写JOIN查询能提升成绩统计效率,而存储过程和触发器可将业务规则下沉到数据库层。本文以学生成绩管理系统为例,完整演示MySQL在表结构设计、查询优化和权限控制方面的工程实践。

芙蓉塘外有轻雷

mysql 报错This function has none of DETERMINISTIC解决方案

主要介绍了mysql 报错This function has none of DETERMINISTIC解决方案的相关资料,需要的朋友可以参考下

weixin_38557095

开启bin-log日志mysql报错的解决方法

创建存储过程时 出错信息: 代码如下:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 原因: 代码如下:这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO

weixin_38726712

mysql创建存储过程实现往数据表中新增字段的方法分析

本文实例讲述了mysql创建存储过程实现往数据表中新增字段的方法。分享给大家供大家参考,具体如下: 需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作;若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: DELIMITER $$ CREATE PROCEDURE insert_column() BEGIN IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_schema='ltivalley' AND table_n

weixin_38612437
评论 8
收藏 已收藏
分享
返回顶部
seqwait
MySQL 57,062 成员 56,759 内容