Если случится ошибка во время записи во вторую БД, тогда же придется полностью бэкап делать (а это 5-10 минут, если база нормальная) и результат ошибки как правило в консоль MySQL выводится недостаточно подробно, ты можешь увидеть только начало запроса в которой произошла ошибка.
Этот "плюс" имеют все языки программирования, хоть 100 тыс. коннектов к разным бд.
Нет, не соответственно.
Ты генерируешь новый уникальный object_id пристаиваешь его предмету, и потом изменяешь этот object_id в других таблицах, которые взаимодействуют с items и тут случается нежданчик, оказывается в другой таблицы существует такой же object_id предмета, хотя в items слот ID свободный. И не важно по какой причине он есть. Просто он существует. И у тебя случается ошибка.
Эти всё трюки хороши над маленькой базой чистенькой бд, однако, если сервер эксплуатируют много лет, он пережил многое, сервер жирный, более 10к персонажей, сотня миллионов предметов, то неизбежно придется столкнуться с проблемами и потребуется другой подход.