在MySQL中生成一系列数字

如何从MySQL查询生成一系列连续数字(每行一个),以便可以将它们插入表中?

例如:

nr

1

2

3

4

5

我只想为此使用MySQL(不使用PHP或其他语言)。

回答:

如果您需要表中的记录,并且希望避免并发问题,请按照以下方法操作。

首先,您创建一个用于存储记录的表

CREATE TABLE `incr` (

`Id` int(11) NOT NULL auto_increment,

PRIMARY KEY (`Id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

其次,创建一个存储过程,如下所示:

DELIMITER ;;

CREATE PROCEDURE dowhile()

BEGIN

DECLARE v1 INT DEFAULT 5;

WHILE v1 > 0 DO

INSERT incr VALUES (NULL);

SET v1 = v1 - 1;

END WHILE;

END;;

DELIMITER ;

最后调用SP:

CALL dowhile();

SELECT * FROM incr;

结果

Id

1

2

3

4

5

以上是 在MySQL中生成一系列数字 的全部内容, 来源链接: utcz.com/qa/413650.html

回到顶部