gpt4 book ai didi

python sqlite 创建 id INTEGER PRIMARY KEY AUTOINCREMENT

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:03 26 4
gpt4 key购买 nike

创建一个简单的数据库并让行具有一个 id,这样我可以稍后选择行值:

conn = sqlite3.connect("APIlan.db")
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS ENERGYLOG (id INTEGER PRIMARY KEY AUTOINCREMENT, totalenergy REAL)''')
c.execute("INSERT INTO ENERGYLOG VALUES (?);", (total_energy,))
conn.commit()
conn.close()

错误 sqlite3.OperationalError:表 ENERGYLOG 有 2 列,但提供了 1 个值

第二次尝试:

conn = sqlite3.connect("APIlan.db")
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS ENERGYLOG (id INTEGER PRIMARY KEY AUTOINCREMENT, totalenergy REAL)''')
c.execute("INSERT INTO ENERGYLOG VALUES (?,?);", (NULL,total_energy,))
conn.commit()
conn.close()

错误 NameError: name 'NULL' is not defined

在不提供 id 值的情况下,如何将其放入表中?谢谢。

最佳答案

我有两个解决方案。

1.您的第一次尝试,如果您只想插入您选择的列,您可以遵循以下语法:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN);

所以,你可以这样写:

c.execute("INSERT INTO ENERGYLOG (totalenergy) VALUES (?);", (total_energy,))

2.你的第二次尝试,如果你想插入所有列,你可以将'NULL'替换为'None':

c.execute("INSERT INTO ENERGYLOG VALUES (?, ?);", (None, total_energy))

因为 python 不知道 'NULL'。

在 SQL 中我们使用“NULL”,在 Python 中我们使用“None”。

希望对您有所帮助!

关于python sqlite 创建 id INTEGER PRIMARY KEY AUTOINCREMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41939066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com