我有一个看起来像这样的表:
nid vid tid 1 2 3 2 2 4 3 2 4 4 2 3
我想运行一些SQL,它将采用这些行中的每一行,并基于它创建另一个行,如下所示:
在vid = 2的foreach行中,创建在vid = 3的重复行
因此,我将得出以下结论:
nid vid tid 1 2 3 2 2 4 3 2 4 4 2 3 1 3 3 2 3 4 3 3 4 4 3 3
该表不是很大(我认为少于500行),这是一次性的事情(因此不需要对代码进行惊人的优化或任何其他操作)。谢谢!
您可以执行以下操作:
INSERT INTO TheTable(nid, vid, nid) SELECT nid, 3, nid FROM TheTable WHERE vid = 2
两列似乎具有相同的名称,但是上面的应该起作用。它使用Vid = 2个元素集,然后使用Vid = 3再次插入它们。