How can a PHP developer efficiently handle the issue of saving a record with ON DUPLICATE KEY UPDATE in a database with multiple key fields?

When saving a record with ON DUPLICATE KEY UPDATE in a database with multiple key fields, a PHP developer can efficiently handle the issue by constructing a unique key that combines all the key fields. This unique key can be used to check if the record already exists in the database and update it accordingly.

// Assuming $key1 and $key2 are the key fields
$unique_key = $key1 . '_' . $key2;

// Check if record exists
$query = "SELECT * FROM table_name WHERE unique_key = '$unique_key'";
$result = mysqli_query($connection, $query);

if(mysqli_num_rows($result) > 0) {
    // Update record
    $update_query = "UPDATE table_name SET column1 = 'value1', column2 = 'value2' WHERE unique_key = '$unique_key'";
    mysqli_query($connection, $update_query);
} else {
    // Insert record
    $insert_query = "INSERT INTO table_name (key1, key2, column1, column2) VALUES ('$key1', '$key2', 'value1', 'value2')";
    mysqli_query($connection, $insert_query);
}