如何将序列号添加到空SQL表

时间:2017-07-21 16:39:27

标签: mysql sql cpanel

我尝试将序号从1到200M添加到空SQL表中。该数字太大,无法使用Excel制作列表。我还使用了文件大小限制较低的Cpanel。有没有办法使用SQL查询? (注意:其他帖子已经为此提供了示例代码,但它们似乎不是可以在cpanel中使用的标准SQL查询。)

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用information_schema.columns视图 对于100.000行的简单SQLFiddle demo(因为我不想杀死SQLFiddle只有10万行) - 它只需要几秒钟:

SELECT @x:=@x+1
FROM (SELECT @x:=0) xx,
information_schema.columns a,
information_schema.columns b,
information_schema.columns c,
information_schema.columns d
LIMIT 10000;

如果您的数据库有100列,那么4个表的交叉连接可以提供100 ^ 4 = 100000000个潜在行,这远远超出您的需要。

答案 1 :(得分:0)

迭代解决方案是:

BEGIN
DECLARE @Counter int=0
WHILE @Counter <= 2000000
    BEGIN
    INSERT tableName(columnName)
    VALUES (@Counter)
    SET @Counter=@Counter+1
    END
END

此解决方案的缺点是它将对您的数据库执行200万个插入语句。