是否存在INSERT IGNORE等效的MDB2批量查询autoPrepare& executeMultiple MDB2_AUTOQUERY_INSERT

时间:2012-08-15 07:26:36

标签: php mysql mdb2

我在两个字段的MYSQL数据库表上有一个索引。我使用autoPrepare& amp批处理INSERTS executeMultiple PHP MDB2 MYSQL扩展提供的。如果我的索引上有重复的匹配,但它会抛出错误并停止批量插入。我正在寻找INSERT IGNORE等效项,这是一个MYSQL命令,如果尝试重复,则忽略错误。

批量插入允许您指定数组中的表字段,指定字段类型,然后指定要在数组中输入的所有值。你得到的结果如下:

$sth = $db->extended->autoPrepare($table_name, $table_fields,MDB2_AUTOQUERY_INSERT, null, $types);
$res = $db->extended->executeMultiple($sth, $table_values);

因此不会发送任何特定查询。我需要以某种方式发送一个选项,以便它知道不会在重复上抛出错误,而只是忽略该条目。

1 个答案:

答案 0 :(得分:0)

放弃使用MDB2批量插入。而是使用带有ignore的普通插入:

INSERT IGNORE into TABLENAME (field1, field2) VALUES (1,2), (a,b) ...

索引位于field1& field2在一起。如果IGNORE对索引值进行重复尝试,则会跳过该条目,但与MDB2批处理命令不同,IGNORE选项会在查询重复输入方案时继续查询。