"/cmf/new/build/Artifacts/-6ren">
gpt4 book ai didi

mysql - 坚持 ruby​​ 和 mysql

转载 作者:行者123 更新时间:2023-11-30 23:27:09 29 4
gpt4 key购买 nike

这是一个散列,其中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.”)

任何人都可以帮助我并告诉我为什么会这样以及我该如何纠正这个问题?

最佳答案

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

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

关于mysql - 坚持 ruby​​ 和 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670207/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com