所以我有一个sqlite3数据库并创建了一个包含两个值的表。 这是创建表的代码。
CREATE TABLE `ip` (
`PID` INTEGER PRIMARY KEY AUTOINCREMENT,
`IP` TEXT
);
现在我有python脚本,我可以在其中输入IP地址并将其存储在数据库中。 但是当我写入字段IP值1.2.3.4时,我在python中遇到错误:
sqlite3.OperationalError: near ".3": syntax error.
这是python代码:
import sqlite3
connection = sqlite3.connect('reverseDNS.db')
cursor = connection.cursor()
sql = "INSERT INTO ip (ip) VALUES (1.2.3.4)"
cursor.execute(sql)
connection.commit()
sql = 'SELECT * FROM ip'
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
print(row)
connection.close()
知道如何在sqlite3中存储IP地址
我尝试过其他类型,比如整数,但这有相同的错误
答案 0 :(得分:2)
由于ip
列的值定义为TEXT
,因此需要将文字值括在单引号中。你应该找到查询
sql = "INSERT INTO ip (ip) VALUES ('1.2.3.4')"
按预期工作。