我们正在我们的应用程序中使用生产和登台数据库。 我们的要求是在生产数据库中添加记录时将所有记录插入登台数据库,以便两个服务器保持一致且数据相同。
我使用Mysql2客户端池连接到登台服务器并插入添加到生产中的记录。 这是我的代码:
def create
@aperson = Person.new
@person = @aperson.save
if @person && Rails.env == "production"
#add_new_person_to_staging
client = Mysql2::Client.new(:host => dbconfig[:host], :username => dbconfig[:username], :password => dbconfig[:password], :database => dbconfig[:database])
@person_result = client.query('INSERT INTO user_types(user_name, regex, code) Values ("myname" , "\.myregex\." , "ns" );')
end
end
此处" @person_result
"记录被插入到mysql表中但是" regex
"专栏删除" \"斜杠。
喜欢:user_name = myname, regex = .myregex., code = ns
当我手动执行" Insert"在mysql命令行中查询,它与\ slash一起插入。但不是通过" client.query"
为什么\ slash
被淘汰了。请帮帮我。
感谢。
答案 0 :(得分:1)
\。
您是否尝试过使用双反斜杠或使用escape方法正确转义字符串?
答案 1 :(得分:0)
尝试使用此
@person_result = client.query('INSERT INTO user_types(user_name, regex, code) Values (myname , "\."+myregx+".\" , ns )')