2012-04-25 34 views
0

我需要一个只有一个int(11)列的帮助表,其中包含从1到给定最大值的每个连续数字的行。这可以用纯SQL完成吗?如何使用连续号码创建表

例子:

INSERT INTO `helper`('itnum') VALUES (1),(2),(3),...(999999),(1000000); 

我需要这样的说法,但没有明确列出所有的条目进行。

回答

1

怎么是这样的:

SELECT insert_helper_records(999999) FROM DUAL; 
+0

什么是'选择insert_helper_records(999999)FROM DUAL'了'CALL insert_helper_records的优势(:

DELIMITER | DROP PROCEDURE IF EXISTS insert_helper_records | CREATE PROCEDURE insert_helper_records(a_max INTEGER) BEGIN DECLARE v_iteration INTEGER; SET v_iteration := 1; insert_loop: LOOP INSERT INTO helper(itnum) VALUES (v_iteration); SET v_iteration := v_iteration + 1; IF v_iteration = a_max THEN LEAVE insert_loop; END IF; END LOOP; END | DELIMITER ; 

然后但是你想喜欢叫它999999)'? – AndreKR 2013-11-02 11:25:44

+0

没有真正的优势,只有偏好。 – davidethell 2013-11-04 10:59:10

1

我认为要做到这一点,您必须在SGBD过程的循环内或外部(php脚本,...)执行插入操作。