操作环境:有表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 ;

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

  1. 微信中获取微信用户信息的2种方式

    微信中获取微信用户信息的2中方式 1, 在公众号底部菜单栏地址配置h5地址,如 http://test.dingdong.com/page1 然后前端在所有页面前拦截如login页面,查看是否有tok ...

  2. mysql连续打卡次数_MySQL查询连续打卡信息?

    导读:最近多次看到用SQL查询连续打卡信息问题,自己也实践一波.抛开问题本身,也是对MySQL窗口函数和自定义变量用法的一种练习. 00 建表 所用数据库为MySQL8.0,简单而不失一般性,建立一个 ...

  3. SharePoint 2013 数据库中手动更新用户信息

    在SharePoint的使用过程中,尤其是Windows认证的情况下,而且没有配置用户配置文件服务,经常会出现如果更新AD中的用户信息(包括名字.显示名.邮件等),SharePoint这边站点并不会更 ...

  4. mysql删除用户账号和密码_mysql添加、删除用户和授权用户

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  5. mysql删除新添加数据_MySQL数据库基础(六)——SQL插入、更新、删除操作

    MySQL数据库基础(六)--SQL插入.更新.删除操作 一.插入数据 1.为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值. INSERT INTO ta ...

  6. jwt token 附加用户信息_获取jwt(json web token)中存储的用户信息

    一个JWT实际上就是一个字符串,它由三部分组成,头部(header).载荷(Payload)与签名. Payload payload中可以保存用户的信息. var claims = new Claim ...

  7. SpringBoot中获取微信用户信息竟然这么简单!

    前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息.获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息. 需要 ...

  8. cas服务器中如何存储用户信息,CAS3.5.2 Server登录后返回用户信息详细解决方案

    单点登录(Single Sign-On, 简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.大家在使用时CA ...

  9. mysql客户端如何建库_mysql建库建用户命令

    1.登陆MySQL: mysql -u root -p password:输入密码 2.查看用户信息 select user,host,password from mysql.user; select ...

最新文章

  1. Sublime Text 3便携版下载安装和常用插件安装--顺便解决报错An error occured installing和no packages available for install
  2. 给大家介绍一个相当好的播放器 J River Media Center 15
  3. 中华成语故事摄制组大公无私的释义
  4. 5.1 实验五 四则运算单元测试
  5. @ngrx入坑angular的schema,爽的一逼!
  6. [计算机]“华为的冬天”——任正非(华为总裁)
  7. 社区O2O全面遇冷,社区金融如何避免走入独特陷阱
  8. windows和Linux内存的对齐方式
  9. Linux mysql生成不了随机密码,用MySQL 生成随机密码
  10. 优先队列priority_queue的使用方式
  11. 信息学奥赛一本通 1146:判断字符串是否为回文 | OpenJudge NOI 1.7 33:判断字符串是否为回文
  12. 面试题 02.06. 回文链表
  13. 字节跳动资深面试官亲述:java进阶篇
  14. WiseCloud成为全球首批Kubernetes官方认证平台产品-睿云智合
  15. 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
  16. Ubuntu18.04关闭zeitgeist-datahub自启动
  17. 在网页中实现录音功能
  18. java服务器动态打包apk
  19. 一个专注PR剪辑视频的PR模板网站PRmuban.com
  20. 防护器件TVS管基础知识

热门文章

  1. 图形处理-几种图像修复方法
  2. java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. lda php,主题模型︱几款新主题模型——SentenceLDA、CopulaLDA、TWE简析与实现
  4. (网页)js每隔5分钟执行一次ajax请求的实现方法(转)
  5. 你从未见过的 HTML5 动画效果
  6. 【转】前端开发值得一看的文章
  7. 一台电脑同时添加git和bitbucket两个网站的ssh key
  8. 【总结】计算机网络常见问题
  9. js 实现简单的轮询
  10. vue 导出html