📅  最后修改于: 2023-12-03 14:44:27.023000             🧑  作者: Mango
本篇文章主要介绍如何在MySQL中使用INSERT语句自动生成一个连续的序列,方便用户批量插入数据。
我们可以使用MySQL的内置函数来实现自动生成连续序列的功能,在INSERT语句中使用SELECT语句结合MySQL的ROW_NUMBER()函数来实现。
具体步骤如下:
SET @i:=0;
INSERT INTO table_name(col1, col2, col3, ...)
SELECT (@i:=@i+1), col2, col3, ...
FROM source_table_name;
在这个语句中,第一个参数为自动生成的序列。通过(@i:=@i+1)来实现自增变量的效果,每次插入时都会自动增加。从source_table_name表中读取数据并插入到table_name表中。
CREATE TABLE test_table (id INT, name VARCHAR(100));
-- 定义自增变量
SET @i:=0;
-- 插入100条数据
INSERT INTO test_table (id, name)
SELECT (@i:=@i+1), CONCAT('name_', @i)
FROM information_schema.TABLES;
查询test_table表中的所有数据:
SELECT * FROM test_table;
结果如下:
| id | name | |----|---------| | 1 | name_1 | | 2 | name_2 | | 3 | name_3 | | 4 | name_4 | | 5 | name_5 | | ... | ... | | 100| name_100|
本文介绍了如何在MySQL中使用INSERT语句自动生成一个连续的序列。使用ROW_NUMBER()函数可以有效地减少手动输入序列的步骤,方便用户批量插入数据。