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

相关推荐
计算机毕设vx_bysj68691 小时前
计算机毕业设计必看必学~基于SpringBoot校园招聘系统的设计与实现,原创定制程序、单片机、java、PHP、Python、小程序、文案全套、毕设成品等!
java·spring boot·mysql·课程设计
翔云1234562 小时前
在MySQL中,出现Executed_Gtid_Set 乱序增长的场景
数据库·mysql
dinga198510264 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
筵陌5 小时前
MySQL事务管理(上)
数据库·mysql
xj198603195 小时前
MySql-9.1.0安装详细教程(保姆级)
数据库·mysql
·云扬·5 小时前
【MySQL】主从复制:原理、作用与实现方法
数据库·mysql
数据知道5 小时前
PostgreSQL:详解 MySQL数据迁移,如何将数据平滑迁移到PostgreSQL
数据库·mysql·postgresql
dinga1985102619 小时前
mysql之联合索引
数据库·mysql
zjttsh20 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
禹凕21 小时前
MYSQL——基础知识(NULL 值处理)
数据库·mysql