LINUX.ORG.RU

multiupdate используя insert и ON DUPLICATE KEY UPDATE


0

1

В общем следующий запрос работает очень быстро на больших объемах.

INSERT INTO `list` 
(`id`, `name`, `sex`,`company`,`email`,`send_status`) VALUES 
(2,"Sasha","male","viplab","kloun@faka.ru","Y") 
ON DUPLICATE KEY UPDATE `name` = VALUES(`name`), `sex` = VALUES(`sex`), `company` = VALUES(`company`), `email` = VALUES(`email`), `send_status` = VALUES(`send_status`);

Но у этого метода есть минус, если id не существует, то он ругаться не будет, ведь это insert.

вызывать каждый раз select не хочется для проверки. Есть ли способ это обойти?

Ответ на: комментарий от Kalashnikov

Прошу прощения, mysql.

Не понимаю как одним запросом можно через replace обновить допустим 1000 записей.

spiritkhl
() автор топика
Ответ на: комментарий от Kalashnikov

REPLACE into `table`

А в чём большая разница? Если записи не существует, то REPLACE ведет себя как INSERT. Если существует — то как DELETE + INSERT (INSERT … ON DUPLICATE KEY UPDATE в этом случае быстрее).

sjinks ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.