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()