【发布时间】:2013-04-19 12:47:01
【问题描述】:
Laravel (Eloquent, Fluent...) 中是否有一种方法可以更新一行,如果该行不存在,它将被插入?
【问题讨论】:
标签: php mysql sql laravel eloquent
Laravel (Eloquent, Fluent...) 中是否有一种方法可以更新一行,如果该行不存在,它将被插入?
【问题讨论】:
标签: php mysql sql laravel eloquent
不知道 Laravel 有这样的方法,但是使用 mysql 你可以用这样的查询来做到这一点
INSERT INTO t SET c1='foo', c2='bar' ON DUPLICATE KEY UPDATE c2='bar'
您必须在此表上有一个唯一索引才能使技巧起作用
【讨论】:
UNIQUE 索引必须覆盖c1,因为它是用于检测重复的索引。