0
當我嘗試向我的數據庫插入數據時,就像它只是簡單地覆蓋整個文件或者不能正確保存它。 我對這個劇本的想法是,如果我跑了多次,它會輸出這樣的:Python Sqlite3 - 數據被覆蓋
(1, 126)
(2, 127)
(3, 126)
(4, 127)
我現在也說,如果我沒有在腳本中創建表時,它給我一個錯誤,該表沒有按即使創建了表格,也不存在,上次我運行腳本。
import sqlite3
# Connecting to the database file
conn = sqlite3.connect("MyDB.db")
c = conn.cursor()
# Check if table exists
c.execute("DROP TABLE IF EXISTS t1")
# Create table
c.execute('''CREATE TABLE t1(
a INTEGER PRIMARY KEY,
b INTEGER);''')
# Insert value
c.execute('''INSERT INTO t1 VALUES(NULL,126);''')
c.execute('''INSERT INTO t1 VALUES(NULL,127);''')
# Save changes
conn.commit()
for row in c.execute('SELECT * FROM t1'):
print(row)
# Output:
# (1, 126)
# (2, 127)
conn.close()
我真的希望這工作,因爲我工作的一所學校項目中,我的產品是做一個功能商店,你可以加入他們最新添加,刪除產品,對它們進行排序。
那麼有道理,但如果表不存在,我該如何創建一個表? – RasmusGP 2015-03-02 07:31:33
我想你只需要將'CREATE TABLE'改成'CREATE TABLE IF NOT EXISTS'。 – user3 2015-03-02 07:43:27