Mysql ::错误:重复条目

时间:2010-04-09 08:02:15

标签: ruby-on-rails activerecord

我有一个模特

class Gift < ActiveRecord::Base
  validates_uniqueness_of :giver_id, :scope => :account_id
end

add_index(:gifts, [:account_id, :giver_id], :uniq => true)

动作

def create
  @gift= Gift.new(params[:gift])

  if @gift.save
    ...
  else
    ...
  end
end

在“生产”模式下,我有时会收到错误

ActiveRecord::StatementInvalid: Mysql::Error: Duplicate entry '122394471958-50301499' for key 'index_gifts_on_account_id_and_giver_id'

出了什么问题?

1 个答案:

答案 0 :(得分:1)

您有两个值:account_id和:giver_id。如果你说:unique =&gt;在索引上为true表示您希望组合:account_id和:giver_id以产生将插入索引的唯一值。