SQLAlchemy를 사용하여 테이블에서 레코드 삭제

thclpr

테스트 테이블에서 일부 데이터를 지우고 싶습니다. 그러나이 문서를 따른 후에도 내가 뭘 잘못하고 있는지 잘 모르겠습니다. :

hostname = 'localhost'
db_name = 'xx'
db_port = 'xx'
login = 'xx'
pwd = 'xx'

con_string = 'mysql+mysqlconnector://{login}:{passwd}@{hostname}:{port}/{db}'
engine_str = con_string.format(
    login=login, passwd=pwd, hostname=hostname, port=db_port, db=db_name
)

try:
    engine = sqlalchemy.create_engine(engine_str, echo=False)
    session = sessionmaker(bind=engine)
    connection = engine.connect()
    session = session(bind=connection)
    Base = declarative_base()

except exc.SQLAlchemyError:
    raise


t_packages = Table('test_table', Base.metadata, autoload_with=engine)
session.query(t_packages).filter_by(environment='sandbox').delete()

에러 메시지:

 line 119, in delete_package_reference_by_env
    session.query(t_packages).filter_by(environment=environment).delete()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\query.py", line 3155, in delete
    delete_op.exec_()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\persistence.py", line 1167, in exec_
    self._do_pre_synchronize()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\persistence.py", line 1221, in _do_pre_synchronize
    target_cls = query._mapper_zero().class_
AttributeError: 'NoneType' object has no attribute 'class_'
thclpr

이 게시물에서 찾은 솔루션

나는 사용해야했다 :

d = t_packages.delete(t_packages.c.environment == 'sandbox')
with engine.connect() as conn:
    conn.execute(d)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

codeigniter를 사용하여 테이블에서 레코드 삭제

분류에서Dev

PHP를 사용하여 HTML 테이블에있는 레코드 삭제

분류에서Dev

Pandas에서 쿼리를 사용하여 SQL 테이블에서 레코드 삭제

분류에서Dev

이 SQL 문을 사용하여 테이블에서 총 레코드를 삭제합니다.

분류에서Dev

JDBC : PreparedStatement를 사용하여 테이블에서 특정 레코드를 어떻게 삭제합니까?

분류에서Dev

SQL 테이블에서 여러 레코드를 삭제하는 방법

분류에서Dev

PHP Tinker를 사용하여 SQlite에서 DB 레코드 삭제

분류에서Dev

처음 100 개의 레코드를 유지하여 테이블에서 레코드 삭제

분류에서Dev

Join with PostgreSQL을 사용하여 여러 테이블에서 레코드 삭제

분류에서Dev

Oracle의 테이블에서 중복 레코드를 삭제하는 방법

분류에서Dev

MVC 5를 사용하여 테이블에 추가하고 레코드 삭제 후 ID 재설정

분류에서Dev

SQL Server의 여러 테이블에서 많은 레코드를 삭제하는 모범 사례

분류에서Dev

두 개의 다른 테이블을 처리 할 때 테이블에서 레코드를 삭제하는 방법

분류에서Dev

foreach 루프를 사용하여 laravel에서 여러 레코드 삭제

분류에서Dev

SQLAlchemy를 사용하여 반영된 테이블에서 삭제 된 행

분류에서Dev

Oracle에서 상관 관계 쿼리를 사용하여 레코드 삭제

분류에서Dev

두 테이블의 레코드를 삭제하는 hql 쿼리

분류에서Dev

루프를 사용하지 않고 큰 테이블에서 식별자가 다른 여러 레코드를 삭제 mysql php

분류에서Dev

삭제하기 전에 중복 레코드를 다른 테이블로 이동

분류에서Dev

여러 Access 테이블에서 레코드 삭제

분류에서Dev

임시 테이블에서 새 테이블로 레코드를 삽입하고 임시 테이블에서도 삭제

분류에서Dev

데이터베이스의 모든 테이블에서 모든 레코드를 삭제하는 방법

분류에서Dev

헤드리스 모드에서 bq cli를 사용하여 테이블을 강제로 삭제하는 방법

분류에서Dev

Teradata bteq SQL은 테이블에서 min (column)을 사용하여 중복 레코드를 제거합니다.

분류에서Dev

SQL 테이블에서 그룹의 최대 값이 아닌 레코드를 삭제하는 방법

분류에서Dev

"NOT IN"절을 사용하여 여러 테이블에서 확인하여 하나의 테이블에서 레코드 삭제를 쿼리합니다. 이 쿼리를 더 단순화 할 수 있습니까?

분류에서Dev

여러 테이블로 그룹화하여 레코드를 삭제하는 SQL

분류에서Dev

SQL 테이블에서 레코드를 삭제 한 사람을 추적 할 수 있습니까?

분류에서Dev

jQuery를 사용하여 테이블에서 행 삭제

Related 관련 기사

  1. 1

    codeigniter를 사용하여 테이블에서 레코드 삭제

  2. 2

    PHP를 사용하여 HTML 테이블에있는 레코드 삭제

  3. 3

    Pandas에서 쿼리를 사용하여 SQL 테이블에서 레코드 삭제

  4. 4

    이 SQL 문을 사용하여 테이블에서 총 레코드를 삭제합니다.

  5. 5

    JDBC : PreparedStatement를 사용하여 테이블에서 특정 레코드를 어떻게 삭제합니까?

  6. 6

    SQL 테이블에서 여러 레코드를 삭제하는 방법

  7. 7

    PHP Tinker를 사용하여 SQlite에서 DB 레코드 삭제

  8. 8

    처음 100 개의 레코드를 유지하여 테이블에서 레코드 삭제

  9. 9

    Join with PostgreSQL을 사용하여 여러 테이블에서 레코드 삭제

  10. 10

    Oracle의 테이블에서 중복 레코드를 삭제하는 방법

  11. 11

    MVC 5를 사용하여 테이블에 추가하고 레코드 삭제 후 ID 재설정

  12. 12

    SQL Server의 여러 테이블에서 많은 레코드를 삭제하는 모범 사례

  13. 13

    두 개의 다른 테이블을 처리 할 때 테이블에서 레코드를 삭제하는 방법

  14. 14

    foreach 루프를 사용하여 laravel에서 여러 레코드 삭제

  15. 15

    SQLAlchemy를 사용하여 반영된 테이블에서 삭제 된 행

  16. 16

    Oracle에서 상관 관계 쿼리를 사용하여 레코드 삭제

  17. 17

    두 테이블의 레코드를 삭제하는 hql 쿼리

  18. 18

    루프를 사용하지 않고 큰 테이블에서 식별자가 다른 여러 레코드를 삭제 mysql php

  19. 19

    삭제하기 전에 중복 레코드를 다른 테이블로 이동

  20. 20

    여러 Access 테이블에서 레코드 삭제

  21. 21

    임시 테이블에서 새 테이블로 레코드를 삽입하고 임시 테이블에서도 삭제

  22. 22

    데이터베이스의 모든 테이블에서 모든 레코드를 삭제하는 방법

  23. 23

    헤드리스 모드에서 bq cli를 사용하여 테이블을 강제로 삭제하는 방법

  24. 24

    Teradata bteq SQL은 테이블에서 min (column)을 사용하여 중복 레코드를 제거합니다.

  25. 25

    SQL 테이블에서 그룹의 최대 값이 아닌 레코드를 삭제하는 방법

  26. 26

    "NOT IN"절을 사용하여 여러 테이블에서 확인하여 하나의 테이블에서 레코드 삭제를 쿼리합니다. 이 쿼리를 더 단순화 할 수 있습니까?

  27. 27

    여러 테이블로 그룹화하여 레코드를 삭제하는 SQL

  28. 28

    SQL 테이블에서 레코드를 삭제 한 사람을 추적 할 수 있습니까?

  29. 29

    jQuery를 사용하여 테이블에서 행 삭제

뜨겁다태그

보관