《Mysql學(xué)習(xí)mysql中循環(huán)截取用戶信息并插入到目標(biāo)表對(duì)應(yīng)的字段中》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)mysql中循環(huán)截取用戶信息并插入到目標(biāo)表對(duì)應(yīng)的字段中,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL實(shí)例操作環(huán)境:有表game_list,字段:uid,score1,score2,seat_id,last_update;
傳入?yún)?shù)為i_player_detail ,傳入的值為多個(gè)用戶的id、之前分?jǐn)?shù)、之后分?jǐn)?shù)、座位號(hào),每個(gè)用戶的數(shù)據(jù)用分號(hào)(;)隔開(kāi);
操作目的:將各個(gè)用戶對(duì)應(yīng)的屬性插入到目標(biāo)表對(duì)應(yīng)的字段中,last_update為數(shù)據(jù)更新日期;
傳入?yún)?shù)i_player_detail ,里面存放多個(gè)用戶的信息,每個(gè)用戶的一組數(shù)據(jù)用分號(hào)隔開(kāi),每個(gè)用戶的信息多個(gè),好比
“用戶id,score,desk,seat;
用戶id,score,desk,seat;……”
MYSQL實(shí)例
-- 使用存儲(chǔ)過(guò)程
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`;
--創(chuàng)建臨時(shí)表,將截取的數(shù)據(jù)先插入到臨時(shí)表
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);-- 用來(lái)拼接sql動(dòng)態(tài)語(yǔ)句
declare m_detail varchar(500);
declare m_num tinyint;
-- 當(dāng)傳入的用戶信息字符串中含有分號(hào)';',進(jìn)行截取
set m_num = position(';' in str) -- 不存在分號(hào)的時(shí)候,返回0
while m_num >= 1 do
begin
set @str = 'insert into temp_list values (' + substring(m_detail,1,m_num-1)+')' -- 截取第一個(gè)用戶的信息(第一個(gè)分號(hào)前面的字符),插入到臨時(shí)表
prepare statement1 from @str;
execute statement1;
deallocate prepare statement1;
set m_detail = substring(m_detail,m_num+1); -- 定義除去第一個(gè)用戶和分號(hào)那部門(mén)的字符串
set set m_num = position(';' in str);
end while;
-- 從臨時(shí)表抽出所有字段,添加時(shí)間字段,插入到表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 ;
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql學(xué)習(xí)mysql中循環(huán)截取用戶信息并插入到目標(biāo)表對(duì)應(yīng)的字段中》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/12884.html