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 ;
mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中相关推荐
- 微信中获取微信用户信息的2种方式
微信中获取微信用户信息的2中方式 1, 在公众号底部菜单栏地址配置h5地址,如 http://test.dingdong.com/page1 然后前端在所有页面前拦截如login页面,查看是否有tok ...
- mysql连续打卡次数_MySQL查询连续打卡信息?
导读:最近多次看到用SQL查询连续打卡信息问题,自己也实践一波.抛开问题本身,也是对MySQL窗口函数和自定义变量用法的一种练习. 00 建表 所用数据库为MySQL8.0,简单而不失一般性,建立一个 ...
- SharePoint 2013 数据库中手动更新用户信息
在SharePoint的使用过程中,尤其是Windows认证的情况下,而且没有配置用户配置文件服务,经常会出现如果更新AD中的用户信息(包括名字.显示名.邮件等),SharePoint这边站点并不会更 ...
- mysql删除用户账号和密码_mysql添加、删除用户和授权用户
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...
- mysql删除新添加数据_MySQL数据库基础(六)——SQL插入、更新、删除操作
MySQL数据库基础(六)--SQL插入.更新.删除操作 一.插入数据 1.为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值. INSERT INTO ta ...
- jwt token 附加用户信息_获取jwt(json web token)中存储的用户信息
一个JWT实际上就是一个字符串,它由三部分组成,头部(header).载荷(Payload)与签名. Payload payload中可以保存用户的信息. var claims = new Claim ...
- SpringBoot中获取微信用户信息竟然这么简单!
前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息.获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息. 需要 ...
- cas服务器中如何存储用户信息,CAS3.5.2 Server登录后返回用户信息详细解决方案
单点登录(Single Sign-On, 简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.大家在使用时CA ...
- mysql客户端如何建库_mysql建库建用户命令
1.登陆MySQL: mysql -u root -p password:输入密码 2.查看用户信息 select user,host,password from mysql.user; select ...
最新文章
- Sublime Text 3便携版下载安装和常用插件安装--顺便解决报错An error occured installing和no packages available for install
- 给大家介绍一个相当好的播放器 J River Media Center 15
- 中华成语故事摄制组大公无私的释义
- 5.1 实验五 四则运算单元测试
- @ngrx入坑angular的schema,爽的一逼!
- [计算机]“华为的冬天”——任正非(华为总裁)
- 社区O2O全面遇冷,社区金融如何避免走入独特陷阱
- windows和Linux内存的对齐方式
- Linux mysql生成不了随机密码,用MySQL 生成随机密码
- 优先队列priority_queue的使用方式
- 信息学奥赛一本通 1146:判断字符串是否为回文 | OpenJudge NOI 1.7 33:判断字符串是否为回文
- 面试题 02.06. 回文链表
- 字节跳动资深面试官亲述:java进阶篇
- WiseCloud成为全球首批Kubernetes官方认证平台产品-睿云智合
- 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
- Ubuntu18.04关闭zeitgeist-datahub自启动
- 在网页中实现录音功能
- java服务器动态打包apk
- 一个专注PR剪辑视频的PR模板网站PRmuban.com
- 防护器件TVS管基础知识
热门文章
- 图形处理-几种图像修复方法
- java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...
- lda php,主题模型︱几款新主题模型——SentenceLDA、CopulaLDA、TWE简析与实现
- (网页)js每隔5分钟执行一次ajax请求的实现方法(转)
- 你从未见过的 HTML5 动画效果
- 【转】前端开发值得一看的文章
- 一台电脑同时添加git和bitbucket两个网站的ssh key
- 【总结】计算机网络常见问题
- js 实现简单的轮询
- vue 导出html