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

备忘:
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.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。