根据值将多行添加到表中

时间:2014-03-01 14:30:59

标签: mysql sql

是否可以使用纯SQL根据给定字段中的值将多行添加到表中?

我有表命名产品,为简单起见,这是一个例子:

id, views
1, 4

对于那一行,我想在另一个表中插入4行。我怎么能这样做?

我编写了一个PHP脚本来执行此操作但更喜欢SQL版本,但我不知道如何启动。

1 个答案:

答案 0 :(得分:0)

为此,您需要一种生成值的方法。如果你只有一小部分,你可以手动完成:

insert into table(id)
    select p.id, n.n as which
    from products p join
         (select 1 as n union all select 2 union all select 3 union all select 4 union all select 5
         ) n
         on p.views <= n.n;

如果你有一个数字表,你也可以使用它。