数据未保存SQLite3 Python 3.4

数据未保存SQLite3 Python 3.4,python,sql,sqlite,python-3.4,Python,Sql,Sqlite,Python 3.4,我目前正在尝试创建一个包含人名和ip的sqlite数据库 虽然我的代码在运行时似乎正常工作,但当我从ips运行SELECT*时,数据不会显示 下面是我的代码。它和从ips选择*正在~/Desktop/SQL中运行 import sqlite3 as sql import socket import struct def iptoint(ip): return str(struct.unpack("i",socket.inet_aton(ip))[0]) database = sql.

我目前正在尝试创建一个包含人名和ip的sqlite数据库 虽然我的代码在运行时似乎正常工作,但当我从ips运行
SELECT*时,数据不会显示SQLite3 ips后在终端中执行code>
下面是我的代码。它和
从ips选择*正在~/Desktop/SQL中运行

import sqlite3 as sql
import socket
import struct
def iptoint(ip):
    return str(struct.unpack("i",socket.inet_aton(ip))[0])


database = sql.connect("ips")
createTable = True
if createTable:
    database.execute('''CREATE TABLE main.ips
    (FIRST_NAME TEXT PRIMARY KEY NOT NULL,
    SECOND_NAME TEXT NOT NULL,
    IP INT32 NOT NULL);''')

sampleIps = [("Edward","E","60.222.168.44")]
for first,second,ip in sampleIps:
    string = "INSERT INTO ips VALUES ('%s','%s','%s');"%(first,second,iptoint(ip))
    print(string)
    #Printing the string gives me INSERT INTO ips VALUES ('Edward','E','749264444');
    database.execute("INSERT INTO ips VALUES ('%s','%s','%s');"%(first,second,iptoint(ip)))

database.close()
我的计算机运行的是OSX 10.11.4、python 3.4和SQLite 3.14.1


我已尝试将ips更改为main.ips并返回

看起来您没有提交到数据库。您需要在关闭连接之前提交,以便实际保存对数据库的更改


database.commit()

应该说,所有python dbapi实现都会自动启动事务,而不仅仅是sqlite3。啊,非常感谢。我假设database.close()将提交到数据库。