我正在使用MySql和JDBC ......以下是我的表定义
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(类型和值的相同组合)以继续事务,就像没有发生任何事情但仍然获得生成的密钥,以及是否发生DUPLICATE ENTRY检索现有密钥。
由于
答案 0 :(得分:1)
使用IGNORE
关键字
INSET IGNORE ....
中引用
如果使用IGNORE关键字,则执行时会出现错误 INSERT语句被视为警告。例如,没有 IGNORE,一个复制现有UNIQUE索引或PRIMARY KEY的行 表中的值导致重复键错误,语句为 中止。使用IGNORE时,仍未插入行,但没有错误 发出的。
替代语法