У меня есть текстовый файл, который содержит, например, названия компаний, продукты и цены. В db содержится около 200 записей и немного больше в текстовом файле. Теперь я хотел бы обновить все цены до db одним запросом sql. Я попытался это:Обновление нескольких строк сразу в MySQL с помощью PHP
for($i = $start_row; $i < $stop_row; $i += 3)
...
$prices = array($price1, $price2, price3);
$pricesfloat = array_map('floatval', $prices);
...
$query = "UPDATE test3 SET price1 = $pricesfloat[0], price2 = $pricesfloat[1], price3 = $pricesfloat[2] WHERE company = '$company' AND product = '$product'";
mysql_query($query, $connection) or die(mysql_error());
mysql_affected_rows()
возвращает 0 строк. Я могу вставить все значения в db с помощью INSERT INTO, но в этом случае я должен обновить существующие значения и позже добавить отсутствующие значения. Может ли кто-нибудь помочь? :)
Обратите внимание, что mysql_affected_rows может возвращать 0, даже если обновление прошло успешно. Это когда старые значения и новые значения одинаковы. –
Может быть, REPLACE sql-query может вам помочь? – odiszapc
Если я правильно помню, 'REPLACE'-statement не поддерживает' WHERE' – user1108483