1

这是一个哈希,其中 mysql 列与哈希的键相关,值与哈希的值相关

 {:jobID=>"1", :checkoutArtificateFolder=>"/cmf/new/build/Artifacts/factory-config.xml"}

现在这是我的代码,我在这里将数据插入表中

def write_data      
    $db_obj = # a data base object 
    table_name = table_name
    jobID = jobID
    hash_data = hash_data       


    insert = "INSERT INTO #{table_name} ("
    data = ""


    hash_data.each do|key,value|

        insert = "#{insert}" + " #{ key},"
        data = "#{data}" + "'#{ value}',"
    end


    insert = insert.chop
    data = data.chop

    query = insert + ")" + "VALUES"  + "(#{data})"
    exec = $db_obj.prepare(query)
    exec.execute

end

但在数据库中,这个值(“/cmf/new/build/Artifacts/factory-config.xml”)被转换成这个(“/cmf/new/build/Artifacts/factory-config.”)

谁能帮助我并告诉我为什么会发生这种情况以及我该如何纠正?

4

1 回答 1

0

我猜您正在为字段 checkoutArtificateFolder 使用最多 40 个字符的 varchar 类型。增加大小或将字段类型更改为文本。

为什么不能使用 ActiveRecord 或 Datamapper 进行数据库操作,让您的生活更轻松?

于 2012-10-01T10:35:28.783 回答