【问题标题】:SQL - Insert 25000 rows at onceSQL - 一次插入 25000 行
【发布时间】:2015-05-31 21:35:12
【问题描述】:

我需要创建一个包含 25000 个自动递增行和 4 列的表,其中包含空值(AI ID 号除外)。知道怎么做吗?非常感谢您的帮助。

【问题讨论】:

  • 选项 #1) 执行添加 1 行 25,000 次的操作,选项 #2) 取决于您使用的数据库/环境,您需要编辑问题以显示这一点。
  • 我正在使用 phpMyAdmin ...
  • 您是否尝试过任何方法来满足您的要求?
  • 请指定数据库后端。执行此操作的代码可能是特定于供应商的。
  • 不,我在问我需要做什么才能做到这一点。我试过手动添加,但是手动添加 25000 实在是太愚蠢了,有一种简单的方法,一个脚本或类似的东西。

标签: sql database scripting phpmyadmin


【解决方案1】:
SELECT '"&firstName&"','" &lastName&"','" &dob&'",'" &gender&'","' &joinDate& "','" &sport_code&"','" &sport_name&"' from dual union all";

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

好的,我终于想通了,显然我必须使用特殊的 MariaDB 语法。无论如何,这成功了:

    DELIMITER $$
DROP PROCEDURE IF EXISTS createType1Table$$

CREATE PROCEDURE createType1Table()
BEGIN
 DECLARE count INT DEFAULT 0;
 WHILE count < 25000 DO
 SET count = count + 1;
   INSERT INTO type1Cards (ID, CardTypeID, CardID, GroupID)
   VALUES (count, 1, count , 0);

 END WHILE;
END$$
DELIMITER ;

然后

CALL createType1Table();

【讨论】:

    【解决方案3】:

    您可以使用下面的简单 while 循环在 Sql Server 中使用非随机数据(在您的情况下为 null)填充您的表:

    declare @counter int = 0
    
    while @counter < 25000
    begin
      insert <yourtablenamehere> (column1, column1, column1, column1)
      values (null, null, null, null)
    
      select @counter = @counter+1
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      相关资源
      最近更新 更多