mysql connect

def connect(_host, _user, _passwd, _db, _charset, _port):
  conn = MySQLdb.connect(host=_host,
  user=_user,
  passwd=_passwd,
  db=_db,
  charset=_charset,
  port=_port,
  use_unicode=False)
  conn.cursor().execute('set autocommit=1')
return conn

 

1.use_unicode=False最好是显示指出,mysqldb不同版本默认值不一样,这样会导致取出来的数据格式不一致。比如1.2.4默认取出来是unicode,即use_unicode=True。而1.2.3默认取出来是str,即use_unicode=False。

2.conn.cursor().execute('set autocommit=1'),不开启事务。这样可以避免deadlock。默认是autocommit=0

posted @ 2014-03-10 11:07  Django's blog  阅读(296)  评论(0编辑  收藏  举报