Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我无法从sqlite3接口查看表内容?_Python_Sqlite - Fatal编程技术网

Python 为什么我无法从sqlite3接口查看表内容?

Python 为什么我无法从sqlite3接口查看表内容?,python,sqlite,Python,Sqlite,我编写了一个简单的basic程序来创建数据库并在表中插入一行。 下面是这个程序的样子 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT

我编写了一个简单的basic程序来创建数据库并在表中插入一行。 下面是这个程序的样子

conn = sqlite3.connect('test.db')
print "Opened database successfully";

conn.execute('''CREATE TABLE COMPANY
   (ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL);''')

print "Table created successfully";

curs = conn.cursor()

curs.execute("INSERT INTO COMPANY (ID,NAME,AGE) \
  VALUES (1, 'Paul', 32)");

cursor = conn.execute("SELECT id, name, age from COMPANY")
for row in cursor:
    print "ID = ", row[0]
    print "NAME = ", row[1]
    print "AGE = ", row[2], "\n"
conn.close()
上面的程序成功地创建了一个数据库(test.db)和一个表(COMPANY)。 它甚至显示数据

Problem :
元组被正确地插入到表中,但是当我试图从sqlit3接口打开表内容时,我得到了空白输出

root@root> sqlite3 test.db 
SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
COMPANY
sqlite> select * from COMPANY;
sqlite> 
如果我通过脚本运行“选择”查询,但从sqlite3接口没有得到任何输出,为什么会得到结果?? 我错过什么了吗

p.S-脚本是用python编写的。 数据库是SQLite(版本3.8.2)


非常感谢您提供的任何帮助

您似乎忘记承诺了

# Save (commit) the changes
conn.commit()
还可以在中使用连接,在块退出后提交结果:

with conn:
   conn.execute("INSERT INTO COMPANY (ID,NAME,AGE) VALUES (1, 'Paul', 32)");
或者,您可以通过将设置为“无”来启用“自动提交”:

conn.isolation_level = None

你好像忘了承诺

# Save (commit) the changes
conn.commit()
还可以在中使用连接,在块退出后提交结果:

with conn:
   conn.execute("INSERT INTO COMPANY (ID,NAME,AGE) VALUES (1, 'Paul', 32)");
或者,您可以通过将设置为“无”来启用“自动提交”:

conn.isolation_level = None

您尚未提交更改。
conn.close()
之前调用
conn.commit()
,您尚未提交更改。
在连接关闭()之前调用连接提交()。我只是错过了承诺。谢谢编造者,它很有魅力。我的错。我只是错过了承诺。多谢编造者,它很有魅力。