Я задаю этот вопрос, чтобы найти наилучшую практику для этого.Если есть Update else Insert Into. MySQL - PHP
DB::table('owners')
->where('property_id',$id)
->update(array('person_id'=>$owner));
Проблема заключается в том, что в таблице owners
не может иметь строку, чтобы обновить. В этом случае мне нужно сделать INSERT INTO
вместо UPDATE
.
Моя проблема в том, что я должен каждый раз запускать 2 запроса, один для проверки, существует ли строка, и еще одна - update
или insert into
. Правильно ли каждый раз запускать 2 запроса? Есть ли лучший способ достичь этого? Мне нужно поддерживать быстрые процессы для пользователя.
ОБНОВЛЕНИЕ: Таблица owners
является средней таблицей отношений многих. К сожалению, я не могу использовать ON DUPLICATE KEY
.
http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html – jarlh
@jarlh Спасибо за Ваш ответ. Я обновил сообщение. – Makis
Не могли бы вы создать сложный уникальный ключ из иностранных идентификаторов в таблице и * затем использовать * при повторном обновлении ключа? – CD001