I have created a database main_data with a table users. When I try to add a new record to the table, I get the following error:
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1364, "Field 'id' doesn't have a default value")
There are no normal guides and solutions to the problem on the Internet. Source code:
from sqlalchemy import create_engine
from sqlalchemy_utils import database_exists
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
DATABASE_NAME = "main_data"
engine = create_engine(f"mysql+pymysql://root:toor/{DATABASE_NAME}")
Base = declarative_base()
class Users(Base):
    __tablename__ = "users"
    id = Column(Integer, primary_key=True)
    user_id = Column(Integer)
    username = Column(String)
    status = Column(String)
    name = Column(String)
    location_city = Column(String)
    location_address = Column(String)
    contacts = Column(String)
    announcements = Column(String)
    balance = Column(Integer)
Session = sessionmaker(bind=engine)
session = Session()
def add_user(user_id, username, status, name, location_city, location_address, contacts, announcements, balance):
    user = Users(user_id=user_id, username=username, status=status, name=name, location_city=location_city,
                 location_address=location_address, contacts=contacts, announcements=announcements, balance=balance)
    session.add(user)
    session.commit()
