我需要一个推动工作IF EXIST UPDATE别的,INSERT,下面是我更新数据库的函数:
function _updatePrices($data){
$connection = _getConnection('core_write');
$sku = $data[0];
$price = $data[1];
$attribute_id = '76';
$websiteId = $data[2];
$productId = _getIdFromSku($sku);
$sql = "INSERT INTO " . _getTableName('catalog_product_entity_decimal') . "
(entity_type_id, attribute_id, store_id, entity_id, value)
VALUES (4, ".$attribute_id.", ".$websiteId.", ".$productId.", ".$price.")
ON DUPLICATE KEY UPDATE
value = (".$price.")";
"WHERE attribute_id = ".$attribute_id."
AND entity_id = ".$productId."
AND store_id = ".$websiteId."
";
$connection->query($sql);
}
如何声明要插入的值?
答案 0 :(得分:2)
您正在寻找on duplicate key UPDATE
更多信息: http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
答案 1 :(得分:2)
正确的方法是:
INSERT INTO `table` (`columns here`) VALUES ('values here')
ON DUPLICATE KEY UPDATE `column`=VALUES(`column`), `col2`=VALUES(`col2`)...