如何使用 phpmyadmin 一次在 mysql 中插入许多类似的记录?

如何使用 phpmyadmin 一次在 mysql 中插入许多类似的记录?

我们知道可以使用以下查询一次插入多条记录:

INSERT INTO `TABLE1` (`First`,`Last`) VALUES ('name1','surname1'),
('name2','surname2'),
('name3','surname3'),
('name4','surname4');

但是如果我们想添加 1000 条类似上述的记录 (name*,surname*),我们是否必须写下所有记录,或者我们可以使用通配符之类的东西?或者是否有使用 mysql 的其他解决方案?

答案1

使用此脚本:

set @a=0;
INSERT INTO `TABLE1` (`First`,`Last`) SELECT
CONCAT('Name',(@a:=@a+1)),CONCAT('Surname',@a)
FROM `information_schema`.`SESSION_VARIABLES` LIMIT 1000;

,其中information_schema.SESSION_VARIABLES是任何至少有 1000 行的大表。

答案2

CREATE VIEW binary_view AS SELECT 0 n UNION SELECT 1;

SELECT CONCAT('name',s),CONCAT('surname',s) FROM (
SELECT
    b0.n * POW(2,0) +
    b1.n * POW(2,1) +
    b2.n * POW(2,2) +
    b3.n * POW(2,3) +
    b4.n * POW(2,4) +
    b5.n * POW(2,5) +
    b6.n * POW(2,6) +
    b7.n * POW(2,7) +
    b8.n * POW(2,8) +
    b9.n * POW(2,9) s
FROM
    binary_view b0,
    binary_view b1,
    binary_view b2,
    binary_view b3,
    binary_view b4,
    binary_view b5,
    binary_view b6,
    binary_view b7,
    binary_view b8,
    binary_view b9
HAVING s BETWEEN 1 AND 1000 ) t;

相关内容