Mysql 循环插入数据

CREATE TABLE test_t(

role_id INT ,

menu_id INT ,

company_id INT

)

第一种:

INSERT INTO test_t(role_id,menu_id,company_id) SELECT 1000,id,1 FROM test WHERE product_id IS NULL

第二种:

DELIMITER //

CREATE PROCEDURE proc()

BEGIN

DECLARE role INT;

DECLARE menu INT;

DECLARE company INT;

DECLARE done INT DEFAULT FALSE;

DECLARE cur CURSOR FOR

SELECT 1,id,1 FROM test WHERE product_id IS NULL;

-- 将结束标志绑定到游标

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

OPEN cur;

read_loop: LOOP

FETCH cur INTO role,menu,company;

IF done THEN

LEAVE read_loop;

END IF;

INSERT INTO test_t(role_id,menu_id,company_id) VALUES(role,menu,company);

END LOOP;

-- 关闭游标

CLOSE cur;

END //

CALL proc()

相关推荐
Boilermaker19923 小时前
【MySQL 进阶】高性能优化
数据库·sql·mysql
CoderOnly3 小时前
SQL,CROSS JOIN速度优化
数据库·sql·mysql
老衲提灯找美女5 小时前
MySQL的增删改查功能合集
数据库·mysql·增删改查·增删改查详细用法
Doro再努力6 小时前
MySQL数据库07:分组查询与分类查询
数据库·mysql
弥生赞歌8 小时前
Mysql作业四
数据库·mysql
Lethehong12 小时前
百万迁移费成历史?金仓数据库“零代码”替换Oracle,我们扒了扒它的技术底牌
后端·mysql·架构
Dev7z13 小时前
MySQL 错误 1046 (3D000) 是因为在执行 SQL 语句时 没有选择当前数据库
数据库·sql·mysql
wangchen_013 小时前
MySQL表的查询
数据库·mysql
unicrom_深圳市由你创科技14 小时前
MySQL 全文索引进阶:中文分词配置 + 模糊查询性能优化
mysql·性能优化·中文分词
沐浴露z14 小时前
详细解析 MySQL 性能优化之【索引下推】
数据库·mysql·性能优化