title: How execute an insert statement with sqlalchemy and sqlite?
body: <p>I'm trying to execute an upsert using sqlalchemy. Here is my code:</p>
  <pre><code>def add_product(session, item):
      insert_statement = insert(Product.__tablename__).values(
          id=item[0],
          name=item[1],
          price=item[2],
          units_sold=item[3]
      )
      do_update_statement = insert_statement.on_conflict_do_update(
          price=item[2],
          units_sold=item[3]
      )
      session.execute(do_update_statement)
  
  
  class Product(Base):
      __tablename__ = 'products'
  
      id = Column(Integer, primary_key=True)
      name= Column(String)
      price= Column(Float)
      units_sold= Column(Integer)
  </code></pre>
  <p>But, when I try to execute this, I get the following error</p>
  <pre><code>sqlalchemy.exc.ArgumentError: subject table for an INSERT, UPDATE or DELETE expected, got 'products'.
  </code></pre>
  <p>Why is this happening, and how can I fix it? Also, are there better options to create an upsert operation?</p>