我试图在Rails项目中创建自己的SQL查询,无论我尝试什么,我都会对created_at的格式抱怨。
current_time = Time.current
values = attribute_values.map { |attribute| "(#{current_item.id},#{attribute},#{current_time},#{current_time})" }.join(',')
ActiveRecord::Base.connection.execute("INSERT INTO line_item_attributes (line_item_id, product_attribute_id, created_at, updated_at) VALUES #{values}")
返回错误:
PG::SyntaxError - ERROR: syntax error at or near "18"
rails logs中的SQL查询如下所示:
INSERT INTO line_item_attributes (line_item_id, product_attribute_id, created_at, updated_at) VALUES (76,12398,2016-07-13 18:35:30 +0200,2016-07-13 18:35:30 +0200),(76,12394,2016-07-13 18:35:30 +0200,2016-07-13 18:35:30 +0200)
如何才能获得正确的格式以保存?
答案 0 :(得分:0)
我建议您使用TIMESTAMP
来清理导入内容。获取Rails为您提供currentTime = Time.now
之类的变量,然后使用values = attribute_values.map { |attribute| "(#{current_item.id},#{attribute},TIMESTAMP '#{currentTime}', TIMESTAMP'#{currentTime}')" }.join(',')