我该怎么把它插在桌子上?

时间:2015-03-05 06:15:22

标签: python sql insert

创建我的表:

 cursor.execute("""
   CREATE TABLE if not exists intraday_quote (
   id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
   symbol VARCHAR(10) NOT NULL,
   date DATE,
   time DATE,
   open FLOAT,
   high FLOAT,
   low FLOAT,
   close FLOAT,
   volume INTEGER);
   """)

我试图插入这个:

    conn = sqlite3.connect('intraday_quote.db')
    cursor = conn.cursor()
    # Prepare SQL query to INSERT a record into the database.
    sql = """INSERT INTO intraday_quote(symbol) VALUES ('Mac123432')"""
    cursor.execute(sql)

数据库中没有插入。我缺少什么?

2 个答案:

答案 0 :(得分:3)

您需要提交更改,以便它们可以在数据库中生效。 提交所有数据库操作,如update,insert。

cursor.commit()
执行成功后

。您可以返回cursor.execute。如果它不是None,那么您可以尝试提交更改,否则使用rollback(练习:)),这样您就不会在数据库中更新错误的数据。

答案 1 :(得分:2)

您需要执行conn.commit()才能查看数据库中的更改。引用documentation

  

此方法提交当前事务。如果不调用此方法,则自上次调用commit()以来所执行的任何操作都不会从其他数据库连接中看到。如果您想知道为什么没有看到您写入数据库的数据,请检查您是否忘记调用此方法。