Mysql 使用生成的密钥进行批量插入,在唯一
我将MySql与JDBC一起使用……下面是我的表定义Mysql 使用生成的密钥进行批量插入,在唯一,mysql,batch-file,insert,key,generated,Mysql,Batch File,Insert,Key,Generated,我将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
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\u GENERATED\u KEYS
选项将行批插入到该表中,以便将id与其他表关联起来
我希望能够执行该操作,但当/如果出现重复条目(类型和值的相同组合)时,继续事务,就像什么都没有发生一样,但仍然可以获取生成的密钥,如果出现重复条目,则检索现有密钥
谢谢使用
忽略关键字
INSET IGNORE ....
引述
如果使用IGNORE关键字,则会显示在执行
INSERT语句被视为警告。例如,没有
忽略,复制现有唯一索引或主键的行
表中的值会导致重复键错误,并且该语句为
流产了。使用“忽略”时,仍不会插入行,但不会出现错误
发布
替代语法
但它仍会检索现有条目的id吗?