如何使用单列更新复制多行

时间:2010-10-15 18:14:16

标签: ruby-on-rails ruby

我想通过单列更新来复制表中的所有行。

实施例

Table County有1000行,我想用单列更新复制所有行。

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

This question介绍了如何使用clone复制记录。

假设1000条记录已经在名为counties的枚举中,我们最终会

counties.each { |county|  
    county_copy = county.clone
    county_copy.col3 = update_function(county_copy.col3)
    county_copy.save
}

答案 1 :(得分:0)

假设我理解正确,我会做类似

的事情
INSERT INTO NewTable (Col1, Col2, Col3)
SELECT Col1, Col2, UpdateFunction(Col3)
FROM County

其中Col3是您要更新的列,而UpdateFunction是您希望用于更新列的函数。

编辑:当然这是SQL,而不是Rails - 我在问题的标签上看起来不够: - )

答案 2 :(得分:0)

@krunalshah您可以构建一个哈希数组并将该数组传递给

callback({
    "response":{
       "docs":[
              {
               "A":"qwe",
               "B":"asd",
               "C":"zxc",
               "D":"mnb",
              }]
       "Mapped Site":[
              "qaw",123,
              "asd",123,
              "qwe",123
              ]
       },
      })

,虽然它会执行多个插入查询。

其他选项使用

$.ajax({
                    type: "GET",
                    url: "http://qqq.com/",
                    crossDomain: true,
                    jsonpCallback: 'callback',
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                    success: function (msg) {
                         sourcearr = $(msg.response.Mapped Site);
            sourcearr = $.map(sourcearr, function (el) { return el; });
            alert(sourcearr);
            }
         });