Вы можете использовать команду REPLACE INTO
, которая использует тот же синтаксис.За экраном он будет выполнять DELETE
, а затем INSERT
.Если вы используете InnoDB
таблицы и настроили отношения, это может быть очень опасно, если вы подумаете, что REPLACE INTO
будет работать как UPDATE
.Результат, набор удаленных строк из-за каскадных правил.
Вы рассматриваете возможность использования DELETE
с последующим INSERT
для обновлений, потому что у вас есть готовый insert-sql.Ну, вы могли бы использовать UPDATE
как синтаксис для вставок.Таким образом, это просто вопрос использования INSERT / UPDATE в соответствии с вашей задачей.
Поэтому вместо:
INSERT INTO products (name) VALUES ('iPhone');
.. вы должны использовать:
INSERT INTO products SET name='iPhone';
Что выглядит так же, как обновление:
UPDATE products SET name='iPhone' WHERE id=1;
Почти то же самое.