Answer the question
In order to leave comments, you need to log in
Answer the question
In order to leave comments, you need to log in
Article: habrahabr.ru/post/117140
Author: habrahabr.ru/users/icc
I told him that you are looking for him
никак dev.mysql.com/doc/refman/5.6/en/insert-on-duplicat...
и правильно предостерегают - ODKU чреват разными малопонятными аффектами, habrahabr.ru/post/156489 к примеру
а чем вас не устраивает первый вариант? он вполне универсален, делает вставку (insert), если натыкается на аналогичную строку (срабатывает ограничение на уникальность), то выполняет update, в чем проблема?
"множественные" запросы - очередной фетиш неграмотных похапистов.
Если приходится апдейтить до десятка записей, то это легко делается отдельными запросами.
Если больше - значит, надо пересматривать подход в целом.
ON DUPLICATE KEY - вполне определенный тип запроса, и использование его для мультиапдейта - хак, чреватый непредсказуемым поведением (например, возвращением в строй уже удаленных записей).
Но похапе программисты, однажды узнав о таком "лайфхаке", начинают страшно гордиться таким сокровенным знанием" и пихать его по делу и без дела.
Если используете параметризованные запросы то ничего не мешает написать свой класс.
НО если вы массово используете ODKU лучше подумайте что у вас не так в архитектуре, такого быть не должно.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question