【问题标题】:SQL Query Inserting ValuesSQL 查询插入值
【发布时间】:2013-11-06 00:23:39
【问题描述】:

我正在尝试使用 Python 将值插入到数据库表中。我已连接到数据库服务器并已使 INSERT INTO sql 语句正常工作,但是我无法弄清楚如何将列表中的值插入到我的数据库中。我认为我的问题很简单,只是涉及正确使用 for-in 循环,但我不知道如何解决。

我需要帮助的是“for i in cur: cur.execute("INSERT INTO Events2013 VALUES (i))")"

这是我的代码的一部分:

import cx_Oracle
import fileDb
import g

fileDb.loadTeams()
fileDb.loadEvents()

for event in g.eventList:
    print '%s, %s, %s' % (event.eventName, event.eventType, event.dates)

dsn_tns = cx_Oracle.makedsn('hostname', 1521, 'orcl')
con = cx_Oracle.connect('std15', 'std15', dsn_tns)
cur = con.cursor()

for i in cur:
    cur.execute("INSERT INTO Events2013 VALUES (i))")

cur.execute("SELECT * FROM Events2013")
for result in cur:
    print result

cur.execute("COMMIT")
cur.close()
con.close()

【问题讨论】:

  • 运行这段代码会发生什么?
  • 所以你要遍历光标?

标签: python sql oracle insert for-in-loop


【解决方案1】:
cur.execute("INSERT INTO Events2013 VALUES (i))")

i 不会自动扩展为变量(它作为文字 i 传递)

我想你需要类似的东西

for event in g.eventList:
    cur.execute("INSERT INTO Events2013 VALUES ('%s','%s','%s')" % (event.eventName, event.eventType, event.dates))

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多