mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中

操作环境:有表game_list,字段:uid,score1,score2,seat_id,last_update;

传入参数为i_player_detail ,传入的值为多个用户的id、之前分数、之后分数、座位号,每个用户的数据用分号(;)隔开;

操作目的:将各个用户对应的属性插入到目标表对应的字段中,last_update为数据更新日期;

传入参数i_player_detail ,里面存放多个用户的信息,每个用户的一组数据用分号隔开,每个用户的信息多个,比如

“用户id,score,desk,seat;

用户id,score,desk,seat;……”

-- 使用存储过程

delimiter $$

use `log_pdk`$$

drop procedure if exists `game_c`$$

create procedure `game_c` (in i_player_detail varchar(500))

SQL SECURITY INVOKER

BEGIN

DROP TABLE IF EXISTS `temp_list`;

--创建临时表,将截取的数据先插入到临时表

CREATE TEMPORARY TABLE `temp_list`(

`uid` INT(10) UNSIGNED NOT NULL,

`score1` INT(10) UNSIGNED NOT NULL,

`score2` INT(10) UNSIGNED NOT NULL,

`seat_id` TINYINT(3) UNSIGNED NOT NULL

);

-- declare str varchar(500);-- 用来拼接sql动态语句

declare m_detail varchar(500);

declare m_num tinyint;

-- 当传入的用户信息字符串中含有分号';',进行截取

set m_num = position(';' in str) -- 不存在分号的时候,返回0

while m_num >= 1 do

begin

set @str = 'insert into temp_list values (' + substring(m_detail,1,m_num-1)+')' -- 截取第一个用户的信息(第一个分号前面的字符),插入到临时表

prepare statement1 from @str;

execute statement1;

deallocate prepare statement1;

set m_detail = substring(m_detail,m_num+1); -- 定义除去第一个用户和分号那部分的字符串

set set m_num = position(';' in str);

end while;

-- 从临时表抽出所有字段,添加时间字段,插入到表game_list

INSERT INTO `game_list`(`uid`,`score1`,`score2`,`seat_id`, `last_update`)

SELECT `uid`, `score1`, `score2`, `seat_id`, current_date()

FROM `temp_list`;

end$$

delimiter ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的数组,列表,集合,映射,元组,记录文字

有时,当我对JavaScript的强大功能和表现力感到兴奋时,我发现自己错过了Java世界中的一两个功能。 除了lambda表达式/闭包或任何您想称为“匿名函数”的东西之外,它还对数组,数组,列表,集合,映射…

mysql锁表问题的解决方法_MYSQL锁表问题的解决方法

本文实例讲述了MYSQL锁表问题的解决方法。分享给大家供大家参考,具体如下:很多时候!一不小心就锁表!这里讲解决锁表终极方法!案例一mysql>show processlist;参看sql语句一般少的话mysql>kill thread_id;就可以解…

linux——(1)初识linux

linux有窗口管理员环境和纯文本界面环境,同时linux默认提供6个Terminal来让用户登录。crtlaltF1-6可自由切换。其中如果窗口管理员环境处于运行状态,那么可以按crtlaltF7直接切过去。 常用命令: cd [dir] #进入dir目录下 ls #列出当前目录下的…

4.26学习成果

哇,今天终于开始接触Web了,感觉有点小兴奋,这几天看来那个视频感觉挺有趣的,挺奇妙的。看到人家敲代码,感觉好厉害。但是感觉不懂,所以,要努力学习了。 今天的学习成果: 网页由什么组…

将Glassfish 3连接到外部ActiveMQ 5代理

介绍 在ONVZ,我们将Glassfish 3用作开发和生产应用服务器,我们对其性能和稳定性以及周围的广大社区感到非常满意。 我很少遇到在stackoverflow或java.net上没有匹配解决方案的问题。 作为我们开源策略的一部分,我们还运行了一个定制的ActiveM…

esp8266 lcd 天气_ESP8266 显示实时天气信息

代码文件getdata.h#include #include #include #include #include #include #include #define DEBUG 1#define MAX_CONTENT_SIZE 2000const char* ssid "weather";const char* password "mymymymy";WiFiClient client;HTTPClient http;char response[MAX…

【VS开发】visual studio 2015的NuGet Manager解决方案管理功能

NuGet的官方说明是:NuGet是一款Visual Studio的扩展,它可以简单的安装、升级开源库和工具。 官网地址:http://www.nuget.org/ 官网最醒目的位置就是下载链接,安装完成后我们来快速体验一把。 手上有个小项目需要使用到json格式&am…

五. 面向对象高级特性4. 接口的概念和使用

在抽象类中,可以包含一个或多个抽象方法;但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”。接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类&#xff0…

智能配料

我们都有多少次听说“分批处理”会增加延迟? 作为对低延迟系统充满热情的人,这让我感到惊讶。 以我的经验,正确完成批处理不仅可以提高吞吐量,还可以减少平均延迟并保持一致。 那么,批处理如何神奇地减少延迟呢&#x…

mysql从myisam_将MySQL从MyISAM转换成InnoDB错误和解决办法

原来自己用的是为了装的, 所以在设置database usage(如下图1)的时候按照discuz官方的建议,选的都是Non-Transactional Database Only(只支持MyISAM数据引擎的非事务数据库),用MyISAM数据库,还没涉及到需要InnoDB,因此打…

相似性度量中用到的一些距离函数

本文目录 1. 欧氏距离 2. 曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5. 标准化欧氏距离 6. 马氏距离 7. 汉明距离 8. 杰卡德距离 & 杰卡德相似系数 9. 相关系数 & 相关距离 10. 信息熵 1. 欧氏距离(Euclidean Distance) 欧氏距离是最易于理解的一种距离计算方法&a…

Spring 3.1配置文件和Tomcat配置

Spring 3.1引入了非常有用的功能,称为配置文件 。 因此,它易于构建,可以在所有环境(开发,测试,生产等)中部署的软件包。 通过定义系统属性spring.profiles.active, Spring允许我们使…

计算1~n之间所有奇数之和_所有奇数长度子数组的和

所有奇数长度子数组的和题目:给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例 1:输入:arr [1,4,2,5,3]输出&#xff1a…

MYSQL AND OR的联用

MYSQL AND OR的联用 MYSQL中”AND”和”OR”都是条件控制符。”AND”是求交集,而”OR”则是求并集,非常多情况下,须要联用它们两个。下面是两张表,我仅仅列出实用的字段。 Table:student_score 学生成绩 sid(学生ID) cid(课程ID) score(分数)…

九度oj 题目1456:胜利大逃亡

题目描述:Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,现在知道魔王将在T分钟后回到城堡,I…

JMX:一些入门说明

JMX(Java管理扩展)是一种J2SE技术,可以管理和监视Java应用程序。 基本思想是实现一组管理对象,并将实现注册到平台服务器,在平台服务器上,可以使用一组连接器或适配器从本地或远程调用这些实现到JVM。 一个…

解释java程序中的异常机制_Java编程中的异常机制

本文旨在以初学者的角度来学习Java异常的知识,尽量简单,一些细枝末节的知识不会讲述,但不影响对知识的掌握。(比如try-catch可以嵌套,不太会这么用)1.什么是异常我们先举个例子int x 10/0;在IDE里输入这样…

keras做多层神经网络

一、 背景与目的 背景:配置好了theano,弄了gpu, 要学dnn方法。 目的:本篇学习keras基本用法, 学习怎么用keras写mlp,学keras搞文本的基本要点。 二、 准备 工具包: theano、numpy、keras等工具包…

配置环境变量

由于写了一个关于生成签名需要配置环境变量,所以在这里顺便把配置环境变量的步骤说一下 1.右键点击计算机,然后点击高级系统设置 2.点击环境变量,下方出现的即为系统变量,双击path就能直接修改, 转载于:https://www.cn…

使用JavaFX AnimationTimer

回想一下,给AnimationTimer起个名字可能不是一个好主意,因为它不仅可以用于动画,还可以用于测量:fps速率,碰撞检测,模拟步骤,游戏主循环等实际上,大部分时间我都看到了AnimationTime…