sqlite3.OperationalError: near "?": syntax error while trying to import data from csv into sqlite
sqlite3.OperationalError: near "?": syntax error while trying to import data from csv into sqlite
我正在尝试使用 python 将数据从 postgresql db table 传输到 sqlite table。这是我的代码:
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(?,?,?)
我正在尝试使用 python 将数据从 postgresql db table 传输到 sqlite table。这是我的代码:
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(?,?,?)