0

OurSQLはPython用のMySQLドライバーです。詳細はこちらをご覧ください接続に失敗しました。ポートまたはホストに問題があるのではないかと疑っています。環境変数の詳細については、Ubuntuを使用しています。

$ cat t.py 
import oursql
conn=oursql.connect(db='test', user='root', passwd='hello')
#, port=3306)
#, host='127.0.0.1')
conn=oursql.connect(db='test')
curs = conn.cursor(oursql.DictCursor)
curs = conn.cursor(try_plain_query=False)
a=curs.execute('SELECT * from test.pic')

print(a)
$ cat test.sql 
select * from test.pic;

$ python t.py |wc
      1       1       5    
$ mysql test < test.sql |wc
      9      78     610

WHY DIFFERENT LENGTHS??

THIS LINE WRONG (above)????
conn=oursql.connect(db='test', user='root', passwd='hello')
4

1 に答える 1

3

この方法で結果を単純に印刷することはできませんcurs.execute(...)。結果を取得するには、カーソルオブジェクトのfetchone(...)orまたはfetchmany(...)orメソッドを使用する必要があります。fetchall(...)

また、APIドキュメントで指摘されているように、カーソルを反復処理することは、を繰り返し呼び出すことと同じfetchone()です。したがって、スクリプトは次のように終わる可能性があります。

curs.execute('SELECT * from test.pic')

for row in curs:
    print(row)
于 2012-05-17T00:19:54.287 に答える