簡體   English   中英

sqlite3.OperationalError:接近“?”:嘗試將數據從 csv 導入 sqlite 時出現語法錯誤

[英]sqlite3.OperationalError: near "?": syntax error while trying to import data from csv into sqlite

我正在嘗試使用 python 將數據從 postgresql db 表傳輸到 sqlite 表。 這是我的代碼:

import sqlite3
import csv

connect = sqlite3.connect("server.db")
cursor = connect.cursor()

sql = """CREATE TABLE users (
        name TEXT,
        id INT,
        xp INT
        )"""

cursor.execute(sql)
connect.commit()

with open('users.csv', 'r', encoding="utf-8") as f:
    no_records = 0
    for row in f:
        cursor.execute(f"INSERT INTO users (?,?,?)", row.split(','))
        connect.commit()
        no_records += 1

connect.close()

但是當運行這個腳本時,我得到 sqlite3.OperationalError: near "?": Syntax error:

Traceback (most recent call last):
  File "C:\Users\belog\sort_hat\cr.py", line 19, in <module>
    cursor.execute(f"INSERT INTO users (?,?,?)", row.split(','))
sqlite3.OperationalError: near "?": syntax error

如何修復它,是否可以在不使用 python 的情況下更輕松地導入數據?

您的語法缺少VALUES

INSERT INTO users VALUES(?,?,?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM