【发布时间】:2017-08-29 18:10:04
【问题描述】:
我有一个填充数据的查询 (sql1),我正在尝试将此数据 (sql1) 的结果以及其他输入插入到同一个表中。
这是第一个查询(sql1)。
sql1 = ' Select Creator_Id, Record_Id, max(Course_Num) + 1, SiteCode ' \
' from ' \
' (Select Creator_Id, Record_Id, max(Course_Num) + 1, SiteCode from Courses ' \
' where ( Record_Id not in ("Test") ) ' \
' group by Record_Id '
cursor.execute(sql1)
all = cursor.fetchall()
我不确定底部代码是否正确(其中字段 %s 进入,其余字段)。
for Creator_Id, Record_Id, Course_Num, SiteCode in all:
sql2 = ' Insert into Courses ' \
' ( Creator_Id, ' \
' Record_Id, ' \
' Course_Num, ' \
' SiteCode, ' \
' coursename, ' \
' datestamp ) ' \
' VALUES ' \
' ( %s, %s, %s, %s, %s, %s ) ' \
在这种情况下,我如何表达/完成类似于底部的内容(我还有两列要插入)?
我从其他帖子中获得了这个示例,但我不确定如何应用值的键。
抱歉,我需要一些关于我在这里做什么的指导。
cursor.execute(sql2, (Cretor_Id, Record_Id, Course_Num, SiteCode), "UniqueCourseName", "")
【问题讨论】:
-
你能打印(all[0])并告诉我返回什么
-
我有一个结果元组 (1, '22222', 33, 'HN')
-
所以,看看利奥波德的回答
-
我不清楚这一点。那么,如何应用 leopold 的行结合 Insert 语句?
-
cursor.execute() 必须在for里面,你是用for来获取SELECT的每一列并添加到表中