例如,我想创建一个函数,将用户添加到我的“用户”表中:
def add_user(name, id):
cursor.execute("INSERT INTO users VALUES (?, ?, ?)", (name, id))
conn.commit()
(需要注意的是,“name”列(不是变量)是第一列,“id”列是第三列)
此代码将“name”变量写入第一列(即name列),并将“id”变量写入第二列(即非id列)
有没有一种方法可以使用列的名称来指定要写入的内容?我希望避免使用诸如将第二列的当前值写入自身、或向其添加0之类的解决方案
首先,您使用3
?
占位符,只传递2个值:name
和id
,因此您的代码甚至不会运行。在
INSERT
语句中,可以指定将接收作为元组提供的值的列:或:
在这两种情况下,结果是相同的。
对于
INSERT INTO users(id, name)...
,第一个?
对应于列id
的值,第二个?
对应于列name
的值,因此必须以相同的顺序在元组内传递它们的值相关问题 更多 >
编程相关推荐