Php 重复插入ID上的副本
我们有在唯一id上带有计数字段的记录 各栏分别为:Php 重复插入ID上的副本,php,mysql,Php,Mysql,我们有在唯一id上带有计数字段的记录 各栏分别为: mainId = unique mainIdCount = 1320 (this 'views' field gets a + 1 when the page is visited) 如何在一个查询中将所有这些mainIdCount作为单独的记录插入另一个数据库的另一个表中 是的,我的意思是用相同的mainId插入1320次!:- 事实上,我们有超过10000倍于一个id的记录。它必须是这样的 这是一个奇怪的问题,但我们确实需要所有这些数据的
mainId = unique
mainIdCount = 1320 (this 'views' field gets a + 1 when the page is visited)
如何在一个查询中将所有这些mainIdCount作为单独的记录插入另一个数据库的另一个表中
是的,我的意思是用相同的mainId插入1320次!:-
事实上,我们有超过10000倍于一个id的记录。它必须是这样的
这是一个奇怪的问题,但我们确实需要所有这些数据的副本,就像这样。最简单的方法是在表和另一个提供一组整数的行源之间进行连接操作。我们会根据需要将原始表中的每一行与整数集中的任意多行进行匹配,以满足所需的结果 作为该模式的一个简单示例:
INSERT INTO newtable (mainId,n)
SELECT t.mainId
, r.n
FROM mytable t
JOIN ( SELECT 1 AS n
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
) r
WHERE r.n <= t.mainIdCount
如果mytable包含行mainId=5 mainIdCount=4,我们将返回行5,1,5,2,5,3,5,4
显然,rowr源需要有足够的大小。我在这里演示的内联视图最多返回五行。对于较大的集合,使用表而不是内联视图将是有益的
接下来的问题是,如何在MySQL中生成一组整数
e、 g
完成这件事有点乏味。我们期待着MySQL中的最终功能,它将使返回一组有界整数值变得更加容易;在此之前,预填充表是最有效的方法