Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在magento中插入或更新_Php_Mysql_Magento - Fatal编程技术网

Php 在magento中插入或更新

Php 在magento中插入或更新,php,mysql,magento,Php,Mysql,Magento,在magento中,我在这样的表中插入行: $table = Mage::getSingleton('core/resource')->getTableName('table_name'); $write = Mage::getSingleton('core/resource')->getConnection('core_write'); $write->insertMultiple($table,$rows); $rows是我在2D数组中插入的数据,我有一个主键'enti

在magento中,我在这样的表中插入行:

$table = Mage::getSingleton('core/resource')->getTableName('table_name');

$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$write->insertMultiple($table,$rows);
$rows
是我在2D数组中插入的数据,我有一个主键
'entity\u id'
和另一列
order\u id
,它们具有唯一约束

在插入之前,我想检查表中是否存在订单id,如果有一行具有
订单id
,则更新其他wise insert

我发现
insertMultiple
,如果插入重复的
order\u id
,则会引发错误。如何基于表中的唯一约束列进行插入或更新。谢谢

编辑:

我需要一些像这样的想法:

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;

查看一下
Varien\u Db\u适配器\u Pdo\u Mysql::insertOnDuplicate()


您必须分别插入每一行,但可以定义如何处理重复键。我想在您的例子中,您需要更新行,所以您只需要将
$table
$data
作为参数。

它会抛出哪个错误?我在控制台中尝试过,如果我为具有唯一约束的列插入具有相同值的行,它就会抛出
错误1062(23000):重复输入'uniq\u key'的'naveen1'。
/**
 * Inserts a table row with specified data.
 *
 * @param mixed $table The table to insert data into.
 * @param array $data Column-value pairs or array of column-value pairs.
 * @param array $fields update fields pairs or values
 * @return int The number of affected rows.
 * @throws Zend_Db_Exception
 */
public function insertOnDuplicate($table, array $data, array $fields = array())