Mysql查询结果作为另一张表的更新内容

人走茶凉 提交于 2020-11-23 22:48:52

1、将查询结果中有用的数据用分隔符获取,更新到另一张表。

DELIMITER $$    
DROP FUNCTION IF EXISTS `func_splitString` $$    
CREATE FUNCTION `func_splitString`    
( f_string VARCHAR(1000),f_delimiter VARCHAR(5),f_order INT)   
  RETURNS VARCHAR(255) CHARSET utf8    
BEGIN    
    DECLARE result VARCHAR(255) DEFAULT '';    
    SET result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,f_delimiter,f_order)),f_delimiter,1));    
    RETURN result;    
END$$  

//更新表字段3min_document:cover_id int
//查询表字段3min_document_video:video string (内容类似:xxxxxxx|12)
UPDATE 3min_document d INNER JOIN 3min_document_video v ON d.id=v.id
SET d.cover_id=func_splitString(v.video,'|',2);


2、将查询结果插入到另一张表:

INSERT INTO `rooms` (`name`,`phone`,`password`)
SELECT `hostName`,`hostTel`,`hostPaw` FROM `t_hostel` ORDER BY `hostName`;







易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!