MySQL 批量插入时间递增的测试数据

4 min read

可以使用 MySQL 的 INSERT 语句和 SELECT 子句来批量插入时间递增的测试数据。例如,下面的语句可以插入 100 条时间递增的测试数据到 my_table 表中:

INSERT INTO my_table (timestamp)
SELECT timestamp + INTERVAL (id - 1) SECOND
FROM (
    SELECT CURDATE() + INTERVAL id DAY AS timestamp
    FROM my_table
    LIMIT 100
) AS t1;

上面的语句首先使用 SELECT 子句生成 100 条时间递增的数据,然后使用 INSERT 语句将这些数据插入到 my_table 表中。

需要注意的是,上面的语句假设 my_table 表中已经存在一条时间戳为当前时间的数据,如果表中没有数据,则需要更改语句中的 SELECT 子句以生成第一条数据的时间戳。

例如,如果表中没有数据,可以使用下面的语句来插入 100 条时间递增的数据:

INSERT INTO my_table (timestamp)
SELECT timestamp + INTERVAL (id - 1) SEC