私はJDBCでMySqlを使用しています...以下は私のテーブル定義です
CREATE TABLE `A` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`type` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unq` (`type`(50),`value`(50))
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
RETURN_GENERATED_KEYS
現在、IDを他のテーブルに関連付けるために、オプションを使用してそのテーブルに行をバッチ挿入するためにステートメントを使用しています。
その操作を実行する機能が必要ですが、DUPLICATE ENTRYが発生した場合(タイプと値の同じ組み合わせ)、何も起こらないようにトランザクションを続行しますが、生成されたキーを取得し、DUPLICATEENTRYが発生した場合は既存のキーを取得します。
ありがとう