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()

相关推荐
会飞的架狗师5 小时前
【MySQL体系】第1篇:从MySQL架构原理到存储的解析
后端·mysql
BXCQ_xuan5 小时前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis
玉衡子6 小时前
七、InnoDB底层原理与日志机制
java·mysql
cyforkk7 小时前
MySQL 唯一约束:从基础到实战,解决数据重复的核心工具
数据库·mysql
快乐肚皮7 小时前
SQL调优全攻略:从原理到实战
mysql
ZHOU_World8 小时前
数据库主从同步
数据库·mysql
茉莉玫瑰花茶8 小时前
MySQL 用户管理
数据库·mysql
博一波8 小时前
MySQL 备份与复制:类似“手机数据管理”
数据库·mysql
专注代码七年10 小时前
查询 mysql中 所有的 非空记录字段
数据库·mysql
程序新视界10 小时前
仅仅会用MySQL的EXPLAIN还不够,还需要会用EXPLAIN ANALYZE
mysql