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

相关推荐
Cabbage_acmer2 小时前
MySQL期中考试突击!
数据库·mysql
chenzhou__4 小时前
MYSQL学习笔记(个人)(第十五天)
linux·数据库·笔记·学习·mysql
一只自律的鸡5 小时前
【MySQL】第二章 基本的SELECT语句
数据库·mysql
@yanyu66612 小时前
idea中配置tomcat
java·mysql·tomcat
hello_zzw16 小时前
docker部署MySQL主从服务集群
mysql·adb·docker
初见00119 小时前
Java MySQL 事务隔离级别深度剖析:从幻读到MVCC
mysql
nzxzn20 小时前
MYSQL第二次作业
数据库·mysql
冻咸鱼21 小时前
MySQL的CRUD
数据库·mysql·oracle
初见0011 天前
Java MySQL 索引深度解析:从原理到最佳实践
mysql
冻咸鱼1 天前
MySQL中表操作
android·sql·mysql·oracle