Search code examples
pythonmysqlpymysql

python mysql update using inner join


This query does not work in PyMysql, I cannot seem to find the problem.

query = """UPDATE user INNER JOIN identification_card ON user.id = %s SET user.id_type = %s, user.validity = %s"""
data = (identification_card.user_id, identification_card.card_type, identification_card.expiry_date)
cursor.execute(query,data)

Solution

  • why you are passing column name and not value

    or you simple use the joined column name for values

      UPDATE user 
      INNER JOIN identification_card ON user.id = identification_card.user_id 
      SET user.id_type = identification_card.card_type 
      user.validity = identification_card.expiry_date 
    
    
    
    
    query = """UPDATE user 
      INNER JOIN identification_card ON user.id = identification_card.user_id 
      SET user.id_type = identification_card.card_type 
      user.validity = identification_card.expiry_date"""
    
    cursor.execute(query,data)