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

相关推荐
百***48072 分钟前
Linux下MySQL的简单使用
linux·mysql·adb
q***14641 小时前
MySQL 批量插入详解:快速提升大数据导入效率的实战方法
大数据·数据库·mysql
q***61501 小时前
【数据库】MySQL的安装与卸载
数据库·mysql·adb
Roottest12342 小时前
nginx+tomcat+mysql操作实验
运维·mysql·nginx
q***04053 小时前
MySQL 数据类型详解:TINYINT、INT 和 BIGINT
数据库·mysql
e***58233 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
敲上瘾4 小时前
MySQL事务全攻略:ACID特性、隔离级别与并发控制
linux·数据库·mysql·安全
九转苍翎4 小时前
深入解析MySQL(7)——SQL调优
mysql·性能优化
懒羊羊不懒@4 小时前
【MySQL | 基础】事务
数据库·mysql
v***44674 小时前
【Mysql】:如何恢复误删的数据?
数据库·mysql