Mysql 将一系列数字作为行插入数据库

Mysql 将一系列数字作为行插入数据库,mysql,database,postgresql,Mysql,Database,Postgresql,是否可以插入一系列同时编号的行,而不是逐个插入 因此,如果我有一个包含a列和B列的表,我想要50行,a列从1到50填充,那么是否可以在同一个命令中完成这一切,而不分别写出每个数字 当您用Postgres标记此内容时: insert into some_table (col_a, col_b) select i, null from generate_series(1,50) i; 有关generate_series()的更多详细信息,请参见手册: 您还使用mysql为其添加了标签 如果您有一个

是否可以插入一系列同时编号的行,而不是逐个插入


因此,如果我有一个包含a列和B列的表,我想要50行,a列从1到50填充,那么是否可以在同一个命令中完成这一切,而不分别写出每个数字

当您用Postgres标记此内容时:

insert into some_table (col_a, col_b)
select i, null
from generate_series(1,50) i;
有关
generate_series()
的更多详细信息,请参见手册:

您还使用mysql为其添加了标签

如果您有一个实用的整数表(0-9,我认为比一系列并集更简单),那么您可以模仿Postgres的聪明行为,如下所示:

 DROP TABLE IF EXISTS ints;
 CREATE TABLE ints(i INT NOT NULL PRIMARY KEY);
 INSERT INTO ints VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);

 DROP TABLE IF EXISTS my_table;

 CREATE TABLE my_table(a INT NOT NULL PRIMARY KEY,b CHAR(1) NOT NULL);
 INSERT INTO my_table (a,b) SELECT i2.i*10+i1.i+1 n,'x' FROM ints i1 JOIN ints i2 HAVING n <= 50;

 SELECT * FROM my_table;
 +----+---+
 | a  | b |
 +----+---+
 |  1 | x |
 |  2 | x |
 |  3 | x |
 |  4 | x |
 |  5 | x |
 |  6 | x |
 |  7 | x |
 |  8 | x |
 | .. |.. |
 | .. |.. |
 | .. |.. |
 | .. |.. |
 | 46 | x |
 | 47 | x |
 | 48 | x |
 | 49 | x |
 | 50 | x |
 +----+---+
如果存在ints,则删除表格;
创建表INT(i INT不是NULL主键);
插入整数值(0)、(1)、(2)、(3)、(4)、(5)、(6)、(7)、(8)、(9);
如果存在my_表,则删除表;
创建表my_TABLE(一个INT不为NULL的主键,一个CHAR(1)不为NULL);

插入my_表(a,b)选择i2.i*10+i1.i+1 n,'x'FROM ints i1 JOIN ints i2有n个可能的重复项,您可以将列设置为自动递增。啊,我明白了。对不起,我是数据库的新手。我会调查一下,尽管它的名字叫“自动增量”,但它不能保证“增量”。这不是它的目的!这不是那个问题的重复。你能解释一下我在等什么吗?它只是将列a设置为
i
i是generate series结果的别名。它将50行插入表中,由函数
generate\u series()