I currently have a MySQL data table that has a field called householdId and it is meant to act as a primary key for multiple rows even though it is not specified as a primary key. So for example, I may have a husband and wife stored as two separate rows where the husband's primary key ID is 1 and the wife's is 2, but they both share the same householdId of 1.

Right now, what I'm having an issue with is adding a new row to my data table and incrementing the largest returned householdId by 1. This is what I currently have:
PHP Code:
  try {
    
// Get the highest householdId value from customers
    
$stmt $db->prepare("SELECT MAX(householdId) FROM customers;");

    
// Return the largest householdId
    
$householdID intval($stmt->fetch(PDO::FETCH_ASSOC));

    
// Insert the values
    
$stmt $db->prepare("INSERT INTO customers (householdId, firstName, lastName, suffix, dateOfBirth, referral, phone, email, address, city, state, zip) VALUES (:householdId, :firstName, :lastName, :suffix, :dob, :referral, :phone, :email, :address, :city, :state, :zip);");

    
// Increment the hosueholdID variable by 1
    
$stmt->bindValue(':householdId', ++$householdIDPDO::PARAM_INT);
    
$stmt->bindValue(':firstName'$_POST['firstName'], PDO::PARAM_STR);
    
$stmt->bindValue(':lastName'$_POST['lastName'], PDO::PARAM_STR);
    
$stmt->bindValue(':suffix'$_POST['suffix'], PDO::PARAM_STR);
    
$stmt->bindValue(':dob'$_POST['dob'], PDO::PARAM_STR);
    
$stmt->bindValue(':referral'$_POST['referral'], PDO::PARAM_STR);

    
// Remove any non digit characters
    
$stmt->bindValue(':phone'preg_replace("/\D/"""$_POST['phone']), PDO::PARAM_STR);
    
$stmt->bindValue(':email'$_POST['email'], PDO::PARAM_STR);
    
$stmt->bindValue(':address'$_POST['address'], PDO::PARAM_STR);
    
$stmt->bindValue(':city'$_POST['city'], PDO::PARAM_STR);
    
$stmt->bindValue(':state'$_POST['state'], PDO::PARAM_STR);
    
$stmt->bindValue(':zip'$_POST['zip'], PDO::PARAM_STR);

    
// Execute the command
    
$stmt->execute();

    
// Explicitly close the connection
    
$db null;
  } catch(
PDOException $ex) {
    
// debug mode, simply echo the exception
    
echo $ex->getMessage();
  } 
The current PHP code will insert a row into the data table, but here is the situation: if there are no rows in the data table then the householdId is set to 1 (which is what I want), after inserting the second row it sets the householdId value to 1 when I expect it to insert a value of 2. Why is it that the householdId value is not incrementing?