Я хочу иметь таблицу, которая содержит 3 поля, и обновить эту таблицу, используя REPLACE, чтобы перезаписывать строки, а не создавать новые, когда 2 поля соответствуют последующим добавлениям.
Другими словами, я хочу сделать что-то подобное для «таблицы», в которой есть строки «a», «b» и «c» -
ЗАМЕНИТЬ В НАСТРОЙКУ таблицы c = $ var_c ГДЕ a = $ var_b И b = $ var_b
Так что он проверит, есть ли строка, в которой совпадает AND b, и запишет c в новую строку, только если еще нет строки для обновления. (извините за изложение очевидного)
Вот что я сделал вместо использования REPLACE. Этот код достигает того, что мне нужно, но я уверен, что есть более эффективный способ сделать это. Спасибо
$query1 = "SELECT COUNT(*) FROM table WHERE a = $var_a AND b = $var_b";
$result = @mysql_query ($query1);
$num = mysql_fetch_row($result);
if($num[0] != 0) {
$query = "UPDATE table SET c = $var_c WHERE a = $var_a AND b = $var_b";
}
else {
$query = "INSERT INTO table VALUES ($var_a, $var_b, $var_c)";
}
$result = @mysql_query ($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}