저는 프로젝트에서 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()
@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
문제가 update={User.mail: data}에 있는 것 같으며 SQLite는 해당 유형을 지원하지 않습니다.
sudden_appearance2022-02-08 09:12:13