Используя Connector/J, я хотел бы сделать пакетную вставку в главную таблицу, за которой следует вставка пакета в таблицу подробностей (PreparedStatement.executeBatch()
для обоих). Я не нашел много информации в Интернете, поэтому я ищу любую обратную связь от людей, которые имеют опыт работы с этим.
-
Могу ли я использовать
Statement.getGeneratedKeys()
, чтобы получить идентификаторы вновь вставленных строк в главной таблице, чтобы я мог использовать их как внешние ключи в подробные вставки? -
Что делать, если не каждый запрос привел к вставка (например, был запрос
insert ignore
илиinsert ... on duplicate key update
)? Я получу ряд вStatement.getGeneratedKeys()
для каждого или только для новых? -
Что будет
Statement.getGeneratedKeys()
возврат есть ошибка с одним из вставленные основные записи иcontinueBatchOnError
установлено значениеtrue
в строке соединения? -
Существуют ли различия в отношении поведения между версиями Connector/J версии 5.0.x vs 5.5.x? Что относительно MySQL 5.0 против 5.1?
-
Есть ли какие-либо другие проблемы или ошибки, о которых я должен знать?
-
Есть ли лучший способ сделать это?