>source

저는 프로젝트에서 orm peewee를 사용합니다. 로컬 컴퓨터에서 실행하면 제대로 작동하지만 우분투 18.4를 서버에 업로드하면 다음 오류가 발생하기 시작합니다.

SQLite does not support specifying which values to preserve or update.

파이썬==3.6.9 피위==3.14.8

데이터베이스의 모든 조작은 code 블록을 사용하여 데이터를 삽입하거나 업데이트합니다.

User.insert(message_chat_id=msg_chat_id, mail=data) \
            .on_conflict(
                conflict_target=[User.message_chat_id],
                update={User.mail: data}) \
            .execute()

문제가 update={User.mail: data}에 있는 것 같으며 SQLite는 해당 유형을 지원하지 않습니다.

sudden_appearance2022-02-08 09:12:13

@sudden_appearance 하지만 이 code는 내 PC에서 작동하고 아주 잘 작동합니다. 아마도 peewee의 버전입니까?

Sergey Semkin2022-02-08 09:12:13

로컬 및 서버에서 어떤 버전의 sqlite를 실행하고 있습니까(터미널에서 sqlite3 --version 실행)?

snakecharmerb2022-02-08 09:12:13

귀하의 sqlite는 거의 확실히 너무 오래되었습니다. 직접 컴파일하거나 pysqlite3-binary를 사용하십시오.

coleifer2022-02-07 15:36:18

@coleifer 아직 python을 잘 몰라서 무슨 말인지 모르겠어서 peewee, sqlite와 관련된 부분을 다시 작성하기로 했습니다. 이제 모든 것이 작동합니다. sqlite3 모듈 및 표준 SQL 요청을 사용합니다.

Sergey Semkin2022-02-07 21:08:01
  • 이전 angular : 클릭한 요소 선택을 활성화/비활성화하는 방법은 무엇입니까?
  • 다음 c# : MVC View는 익명 개체 viewModel의 멤버를 볼 수 없습니다.