因此,我有一个sqlite3数据库,并创建了一个包含两个值的表。这是创建表的代码。
CREATE TABLE `ip` (
`PID` INTEGER PRIMARY KEY AUTOINCREMENT,
`IP` TEXT
);现在我有了python脚本,可以在其中输入IP地址并将其存储在数据库中。但是,当我将值1.2.3.4写入到IP字段时,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地址吗?
我尝试过其他类型,如整数,但这有相同的错误。
发布于 2017-06-02 14:48:33
因为ip列的值被定义为TEXT,所以文字值需要用单引号括起来。您应该会发现这个查询
sql = "INSERT INTO ip (ip) VALUES ('1.2.3.4')"如你所料。
https://stackoverflow.com/questions/44331382
复制相似问题