我正在尝试在我的一个表字段中强制执行值的唯一性。更换桌子不是一种选择。我需要使用 ActiveRecord 有条件地在表中插入一行,但我担心同步。
Rails ActiveRecord 中是否first_or_create
防止竞争条件?
这是first_or_create
来自 GitHub 的源代码:
def first_or_create(attributes = nil, options = {}, &block)
first || create(attributes, options, &block)
end
由于多个进程的同步问题,是否有可能导致数据库中出现重复条目?