mysql存储过程,这个错在哪里?

关注:294  答案:2  mip版

解决时间 2021-01-28 01:15

提问者人潮拥挤你不在

2021-01-27 19:57

begin

declare cc,aa,bb int default 0;

declare t_error int default 0;

declare CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;

START TRANSACTION;

select guid into aa from mop510_characters.character where name=uname;

if aa=0 then

select @bb:=max(guid) from mop510_characters.item_instance;

set bb=@bb+1;

insert into mop510_characters.item_instance(guid,itemEntry,count) values (bb,"1400001",ucount);

select @cc:=max(id) from mop510_characters.mail;

set cc=@cc+1;

insert into mop510_characters.mail(id,subject,body,hasitems,receiver) values (cc,"标题","内容",1,aa);

insert into mop510_characters.mail_items(mail_id,item_guid,receiver) values (cc,bb,aa);

end if;

if t_error = 1 then

rollback;

else

commit;

end if;

end

最佳答案

二级知识专家嶒經忲氾濫

2021-01-27 20:46

我不清楚报错是什么,不过看起来像是 if aa=0 then逻辑判断有问题,这样只有在 select guid into aa from mop510_characters.character where name=uname;查不到数据时才执行后面的insert语句

全部回答

1楼帞蕥

2021-01-27 22:02

要获取id,用mysql_insert_id(),就可以了。

没必要在查询一次。

上面的代码,没必要选2次数据库, or die(mysql_error());最好这样写,如果要标识,就这样or die("a1".mysql_error());

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

mysql的存储过程放在哪里_mysql存储过程,这个错在哪里?相关推荐

  1. mysql的存储过程放在哪里_mysql存储过程求解,错误在哪里?

    DELIMITER $$ ALTER PROCEDURE `sp_test`(vdnId CHAR(2),startTimeStr CHAR(8)) BEGIN DECLARE v_startTime ...

  2. mysql 存储过程 定义数组_MySql存储过程

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...

  3. mysql 存过 if语句_mysql存储过程 if 语句

    MySql的存储过程 存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存 ...

  4. mysql存储过程注释方法_mysql存储过程 详细注释

    原文:https://my.oschina.net/u/3582142/blog/1581929 delimiter $$ /* 重新定义mysql结束符,而不再是分号是结束符 */ create p ...

  5. c# mysql存储过程 输出参数值_MySQL 存储过程参数用法 in, out, inout

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  6. mysql 存储过程简单使用_mysql存储过程的简单使用教程

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程 c ...

  7. mysql 存储过程建表_MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...

  8. mysql 存储过程 out 用处_mysql存储过程 OUT or INOUT argument 3 for routine

    mysql存储过程出现: OUT or INOUT argument 3 for routine gotask.UserLogin is not a variable or NEW pseudo-va ...

  9. mysql存储过程list参数_mysql存储过程教程(1)

    MySQL存储过程 1.1         CREATE  PROCEDURE  (创建) CREATE PROCEDURE存储过程名(参数列表) BEGIN SQL语句代码块 END 注意: 由括号 ...

最新文章

  1. 混合mixin函数_Less 混合
  2. DPDK — 数据平台优化技术
  3. 如何在线把网站html生成xml文件_Sitemap在线生成器,网站地图在线生成工具
  4. 粗糙表面的微表面模型——Physically Based Material
  5. TCP多进程并发服务端 Linux socket编程入门(2)
  6. 计算机文化基础B卷期末,《计算机文化基础》上机试卷B
  7. Centos 6.5-yum安装出现错误解决方案
  8. java接口自动化框架_java接口自动化测试框架及断言详解
  9. CP_EndPoint环境中的Hotspot Settings
  10. winhttp 访问https_VB6: 在客户端中使用WinHttp组件,发送Https请求
  11. ectouch 常用功能
  12. ShuffleNet v2
  13. Vasp第一性原理计算从零单排——石墨烯能带的计算
  14. PS-第五天-图层样式
  15. 《MATLAB 神经网络43个案例分析》:第37章 基于灰色神经网络的预测算法研究——订单需求预测
  16. 收到大量垃圾短信怎么办?如何屏蔽垃圾短信?
  17. STM32H7 DAC2+BDMA
  18. 还在付费使用 XShell?我选择这款超牛逼的 SSH 客户端,完全免费!
  19. 想从事程序员,对学历要求高吗
  20. 命名实体识别学习记录(spaCy/OpenNLP..)

热门文章

  1. 「长文」2022年企业数字化转型的八大趋势
  2. 神东煤矿:煤矿管控难?且看帆软如何助力其智慧化生产管控
  3. 调研了10家公司的技术架构,我总结出了一套大数据平台的套路
  4. 如何隐藏win32 console application的console窗口
  5. 37岁程序员失业投500份简历就3次面试猎头:超35岁不要
  6. 《vue2.0基础系列》目录大全,你要的都在这里
  7. Adobe illustrator 论文图形编辑和排版 - 连载 2
  8. simplifyEnrichment,一个对GO富集结果进行聚类和可视化的工具
  9. 超强Mac数据恢复软件:Disk Drill Enterprise Mac
  10. python算法系列资料集(一)-2022.03.15