и их нужно апдейднуть, а остальные "инсертнуть"
не вариант все удалить и записать заново?
Сначала придётся проверять, есть ли такая строка в базе и только потом удалять/занести новый. С учётом того, что нужно добавить ни одну строку, а сразу несколько, то кажется, что это будет давить на производительность. Я думал в memory (вообще, в коллекциях хранятся dto сущностей) отмечать, была ли ранее добавлена сущность в базу. Но не уверен, что это правильная практика
Чтобы не проверять есть запись или нет, то существуют БД, которые умеют в upsert - вставка или обновление, если возник конфликт по ключу.
Не хотелось бы поменять mysql. Но проверю что там)
В мускуле тоже есть нечто типа upsert: INSERT INTO %s (%s) VALUES (%s) ON DUPLICATE KEY UPDATE %s
Да, прикольно. Сейчас как раз искал. Ещё replace есть
Replace - херня. (: Это просто DELETE + INSERT со всеми вытекающими.
В общем, эта проблема точно решена
Аа, буду знать. Не вдавался в подробности
Обсуждают сегодня