mysql使⽤存储过程插⼊记录并返回⾃增id踩坑
mysql使⽤存储过程插⼊记录并返回⾃增id踩坑(由于不同表中相同字段导致的错误
1. 附上mysql插⼊记录后返回⾃增id的⽅法链接
.
2. 出问题的存储过程
python输入一个小数或整数CREATE PROCEDURE`proc_test`(IN tname VARCHAR(255),IN tpwd VARCHAR(255),OUT reid INT)三角函数软件下载app
BEGIN
INSERT INTO test (uname,upsd)VALUES(tname,tpwd);
SELECT max(uid)INTO reid FROM test;
END
运⾏测试之后,test数据表⾥成功多了⼀条记录,id也相应增加了,但返回值为null,最终发现返回null的mysql查看所有存储过程
原因是多个表中都存在名为uid的字段,⽽其它表中⽬前都为空,将uid改为 表名.字段名的形式后,问题解决,成功返回⾃增id。
3. 修改后的存储过程
CREATE PROCEDURE`proc_test`(IN tname VARCHAR(255),IN tpwd VARCHAR(255),OUT reid INT)
BEGIN
INSERT INTO test (uname,upsd)VALUES(tname,tpwd);
高精度导轨类型SELECT max(test.uid)INTO reid FROM test;#uid改为test.uid
END
unix操作系统是一种多用户多任务的操作系统这个只是⾮常简单基础的东西,⾄于⾼并发什么的,我⽬前没有遇到,还没有达到那个⽔平
好吧,虽然这个问题很蠢,但真的困扰了我很久,当时学数据库得时候并没有系统地学习,都是⽤到什么搜什么,⽤完就过去了,也不理解原理什么的,当时还⽤的是半吊⼦⽔平的C#+sql server, 这次
⽼师突然⼜让⽤,还要求必须java+mysql,这两当年学的时候前者只了解了⼀下最基本的知识,多线程都没搞清楚,后者就没有⽤过,只能硬着头⽪瞎搞了……
希望我这个⼩菜鸟少掉点头发
希望我能顺利毕业
希望我接下来三年不要太痛苦
view sth as sth
哦~加油鸭

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。