1

私はPythonで次のコードを持っています。このエラーが発生します->タプルインデックスはstrではなく整数でなければなりません

これらの値をクエリに渡すにはどうすればよいですか? このアプローチが完全に機能する他の例がありますが、ここで失敗する理由がわかりません。

def request_events_json(uei,interval,conn):

    cur = conn.cursor()

    events_query ="""select e.nodeid,n.nodelabel,e.ipaddr,count(*) as total,min(e.eventcreatetime),max(e.eventcreatetime),(regexp_matches (e.eventlogmsg,E': %(.*)'))[1] as msglog
                     from events e, node n where e.eventuei = (%s)  and e.eventcreatetime > now() - interval (%s) and n.nodeid=e.nodeid
                     group by n.nodelabel,e.nodeid,e.ipaddr,msglog
                     order by e.nodeid, count(*) desc limit 10;"""



    try:
       print('## Requesting events ##')
       cur.execute(events_query,('uei.opennms.org/syslogd/cisco/line','5 min'))
       .......
4

1 に答える 1

1

私のバージョンの PostgreSQL では、後の丸括弧intervalは禁止されています。

アップデート:

これは、正規表現のパーセント記号です。2倍にします。

于 2012-07-04T11:33:25.920 に答える