mysql -- 循环插入数据到表中

时间:2022-03-31 17:48:02
备忘:
1.经搜索发现,MySql不支持直接写SQL语句实现循环插入功能.
想要实现该功能,可以用其他语言操控MySql来实现,或者用存储过程来实现(Store Procedure--SP).
2.以下是SP实现经过,记下来怕忘记了.
--表结构定义TDefUser,有个自动增量的PK:

Table Create Table 
-------- ----------------------------------------------------------
tdefuser CREATE TABLE `tdefuser` ( 
            `userId` int(11) NOT NULL auto_increment, 
            `address` varchar(14) default NULL, 
            `phone` varchar(14) default NULL, 
            PRIMARY KEY (`userId`) 
          ) ENGINE=MyISAM AUTO_INCREMENT=10001 DEFAULT CHARSET=latin1 

--存储过程实现,autoInsert:

DELIMITER $$

DROP PROCEDURE IF EXISTS `hibernate`.`autoInsert`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `autoInsert`()
BEGIN
    DECLARE i int default 1;
    WHILE(i < 10000) DO
        insert into tdefuser(address, phone) value ('sz', '123');
        SET i = i+1;
    END WHILE;
    END$$

DELIMITER ;

--完成,用call autoInsert();调用该SP.