gpt4 book ai didi

使用 activerecord 的 Ruby(没有 rails),插入不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:48 27 4
gpt4 key购买 nike

我需要在数据库中的现有表中插入一条新记录。我尝试了以下两种方法:

  class UserDetail < ActiveRecord::Base

def self.add_new_user
new_user = UserDetail.new
new_user.first_name = 'Joe'
new_user.last_name = 'Smith'
new_user.user_id = 'TEST'
new_user.save
end

def self.add_new_user_2

UserDetail.create(user_id: 'TEST', first_name: 'Joe',
last_name: 'Smith')
end

但是,这两种方法都会给我以下错误:

    ActiveRecord::StatementInvalid: OCIError: ORA-00926: 
missing VALUES keyword: INSERT INTO "USER_DETAIL" DEFAULT VALUES

我错过了什么?请分享您的解决方案。

(使用 Ruby 1.9.3,ActiveRecord 4.2.4)

最佳答案

ActiveRecord 对主键进行了假设。它期望在名为“ID”的 UserDetail 表中找到一个主键。应该看起来像。

class UserDetail < ActiveRecord::Base
self.table_name = :user_detail
self.primary_key = :user_id

def self.add_new_user
new_user = UserDetail.new
new_user.first_name = 'Joe'
new_user.last_name = 'Smith'
new_user.user_id = 1
new_user.save
end
end

关于使用 activerecord 的 Ruby(没有 rails),插入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553130/

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