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