Skip to content
Discussion options

You must be logged in to vote

Use insert(Target).from_select(...)

Runnable code example:

from sqlmodel import SQLModel, Field, create_engine, Session, select
from sqlalchemy import insert


# Define two tables with the same schema
class Source(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    name: str


class Target(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    name: str


# Create an in-memory SQLite database
engine = create_engine("sqlite:///:memory:")
SQLModel.metadata.create_all(engine)

# Insert some sample rows into Source
with Session(engine) as session:
    session.add_all([Source(name="Alice"), Source(name="Bob")])
    session.commit(…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by YuriiMotov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
2 participants